PHP安全予防技術の共有
2625 ワード
PHPコードの安全とXSS、SQL注入などは各サイトの安全に非常に有用であり、特にUGC(User Generated Conteet)ウェブサイト、フォーラム及び電子商取引サイトは、常にXSSとSQLが注ぎ込む大きな被災地である。ここで簡単にいくつかの基本的なプログラミングのポイントを紹介します。システムの安全に対しては、phpセキュリティをより多く要求されています。ユーザーが入力した各種のパラメータに対して、より細かいことができます。global=off magic_quot tesgpc=off display_error=off loguerror=on〓〓〓〓〓allow〓クルクルfopen=off expose_php=off open_basedir=safe_mode=on disable_function=exec、system、passthru、shell_exec,escapeshellarg,escapeshellcmd,proc_close,procopen,dl,popen,show_source,get_cfg_var safe_モデルinclude_dir=DB SQL前処理mysql_リアル.エスケープstring(多くのPHPerは依然としてaddslashesに頼ってSQL注入を防止していますが、この方式は中国語の符号化に問題があります。addslashesの問題はハッカーがシングルクォーテーションマークの代わりに0 xbf 27を使用できることにあります。GBKコードの中で0 xbf 27は合法的な文字ではありません。したがって、addslashesは0 xbf 5 c 27だけを有効な多バイト文字にしています。その中の0 xbf 5 cはシングルクォーテーションマークと見なされます。具体的にはこの記事を参照してください。mysqlでリアル.エスケープstring関数は正しい文字セットを指定する必要があります。そうでないと問題があります。prepare+execute(PDO)ZendFrame ewarkはDBのようなquotまたはquot teIntoを利用できます。この2つの方法は各種データベースによって不要な方法を実施しています。mysqlのようなことはありません。リアル.エスケープstringはmysqlユーザーが入力する処理にしか使えません。HTMLタグを保留する必要がない場合は、以下の方法でstrip_ができます。tagsは、stringの中のすべてのhtmlタグを削除します。hhhmlspecialcharsは正しいです。「<">」、",",",",",",","","",","文字を転送するhtmlentitiesで、すべてのファイルを転送するにはHTMLタグを保持しなければならない場合、以下のツールが考えられます。HTML Prifier:HTML Prifier is a standars-comppliant HTML filter lighter written PHP.PHP.PHP HTML Sanitizer:Remove unsafe tags and and and Atratrbuteders HTltefftwers。uplloaded_fileとmove_uplloaded_file関数は、HTTP_uを使用します。POST_FILES[]配列。アップロードディレクトリのPHP解釈機能を削除することで、ユーザがphpスクリプトをアップロードするのを防止します。ZFフレームではFile_の使用を考慮できます。uploadモジュールSession、CookieとFormのセキュリティ処理はCookieに依存しないでコア検証を行います。重要な情報は暗号化が必要です。Form Postの前に送信データをハッシュします。例えば、あなたが送ったform元素は以下の通りです。プログラムコード
<?php$sign=md 5('name'.$Oname.'age'.$Oage.$secret);input type=「hidden」name=「hash」value=「<?php echo$sign?""POSTが戻ってきたら、パラメータを検証します。プログラムコード
$str = "";
foreach($_POST['H'] as $key=>$value) {
$str .= $key.$value;
}
if($_POST['hash'] != md5($str.$secret)) {
echo "Hidden form data modified"; exit;
}
PHPセキュリティ検出ツール(XSSとSQL Insertion)Wapiti-Web appication security auditor(Wapiti-小さいサイト・ホール検出ツール)(SQL injection/XSS攻撃チェックツール)。http://Your Website URL/-m GET_XSS Pixy:XSS and SQLI Scanner for PHP(Pixy-PHPソース欠陥分析ツール)安b:appt-get install default-jdk Remote PHP VulnersabilityScanner(自動化PHPページ欠陥分析、XSS検出機能が強い)PHPIDS-PHP侵入検出システムy