ホームページ バックエンド開発 PHPチュートリアル 请问有经验的PHP老鸟,程序的安全性!

请问有经验的PHP老鸟,程序的安全性!

Jun 13, 2016 am 10:02 AM
array get

请教有经验的PHP老鸟,程序的安全性!?
讨论下开发PHP网站,除了操作系统和WEB服务软件,在程序本身安全方面应该注意那些

记得第一次给客户做的小站1个月就被坏蛋给黑了,检查发现居然在首页最下边被加了个 ,结果就是老弹广告。就可能是因为程序漏洞造成的。

还有听说工行的网站被恶搞,等等。

谢谢拉





------解决方案--------------------
呵呵,大家来点实际的
/*
*防注入处理
*/
if(!get_magic_quotes_gpc()){
immit(___FCKpd___0
POST);
immit(___FCKpd___0
GET);
immit(___FCKpd___0
COOKIE);
}
//防注入处理(为变量加入斜杠)函数
//参数 $array 为防注入变量数组
function immit(&$array){
foreach($array as $key=> $value){
if(!is_array($value)){
$array[$key]=addslashes($value);
}else{
immit($array[$key]);
}
}
}


php中如何避免sql注入攻击


if(!get_magic_quotes_gpc()){
callUserFunc(___FCKpd___0
GET, 'addslashes ');
callUserFunc(___FCKpd___0
POST, 'addslashes ');
}
就可以了,字段值加 ' 就可以了,如查询文章
"SELECT * FROM table WHERE id= '$id ' "

------解决方案--------------------
一般的主要注意以下几项:
脚本攻击(危害不太大主要是对客户端).
解决:将用户发表的文字用htmlspecialchars处理.

sql注入.
解决:
最好打开get_magic_quotes_gpc若未打开用addslashes替换用户以post或get方式传输的数据.
或限制传输的数据长度在安全范围内(比如限制1-2个char长),
或严格检查用户传输数据的类型.我见过有人在asp内检测关键字这是一个解决方法,但效率不高.

上传漏洞:
解决:
检查用户传输文件大小,限制其大小
检查用户传输文件的类型,绝对不允许用户传apache会解释的文件(检测文件后缀即可)

背份还原漏洞:
解决:
管理好管理员密码.做好日志

以上是我总结的一些黑客常用的攻击方法,还有什么方法希望大家补充,交流.

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PowerShell を使用してタスクを自動化する方法 PowerShell を使用してタスクを自動化する方法 Feb 20, 2024 pm 01:51 PM

PowerShell を使用してタスクを自動化する方法

C# の Array.Sort 関数を使用して配列を並べ替える C# の Array.Sort 関数を使用して配列を並べ替える Nov 18, 2023 am 10:37 AM

C# の Array.Sort 関数を使用して配列を並べ替える

Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか? Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか? May 16, 2023 pm 07:53 PM

Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか?

PHPのarray_merge_recursive()関数を使用するシンプルで明確な方法 PHPのarray_merge_recursive()関数を使用するシンプルで明確な方法 Jun 27, 2023 pm 01:48 PM

PHPのarray_merge_recursive()関数を使用するシンプルで明確な方法

PHP で array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法 PHP で array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法 Jun 26, 2023 pm 01:41 PM

PHP で array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法

jQuery の get メソッドと post メソッドの類似点と相違点の詳細な分析 jQuery の get メソッドと post メソッドの類似点と相違点の詳細な分析 Feb 24, 2024 pm 12:15 PM

jQuery の get メソッドと post メソッドの類似点と相違点の詳細な分析

Ubuntuのapt-getアップデートソースを変更するにはどうすればよいですか? Ubuntuのapt-getアップデートソースを変更するにはどうすればよいですか? Jan 05, 2024 pm 03:40 PM

Ubuntuのapt-getアップデートソースを変更するにはどうすればよいですか?

Curl Getコマンドの例 Curl Getコマンドの例 Mar 20, 2024 pm 06:56 PM

Curl Getコマンドの例

See all articles