ホームページ  >  記事  >  バックエンド開発  >  PHP はフォーム送信内の危険なコードをフィルタリングします

PHP はフォーム送信内の危険なコードをフィルタリングします

高洛峰
高洛峰オリジナル
2016-11-29 15:21:281079ブラウズ

フォーム送信のセキュリティが十分に行われていない場合、このフォーム送信により Web サイトが簡単に攻撃される可能性があります。以下に、PHP フィルター フォーム送信でよく使用される危険なコードの例を 2 つ紹介します。必要な方は参考にしてください。

例 1、コードは次のとおりです:

function uhtml($str)

{

$farr = array(

"/s+/", //余分な空白をフィルタリングします

は悪意のあるものを導入する可能性がありますインテント 悪意を持って表示レイアウトを変更するコンテンツやコード、フラッシュなどを挿入する必要がない場合は、

"/<(/?)(script|i?frame |スタイル|html|本文|タイトル|リンク|メタ|?|%)([^>]*?)>/isU",

" "/(<[^>]*)on[a -zA-Z]+ s*=([^>]*>)/isU",//JavaScript の on イベントをフィルターします

);

$tarr = array(

" " ",

" "<123> ",// 安全でないタグを直接削除したい場合は、ここを空白のままにできます

"12",

);

$str = preg_replace($farr,$tarr,$str) ;

return $str;

}

例 2、またはこれを実行すると、コードは次のようになります:

//投稿データを取得する

function PostGet($str,$post=0)

{

emptyempty($str)?die('para は null'. $str.'!'):' [$str])?$ _POST

[$str]:'');それ以外の場合は、addslashes(htmlspecialchars($ _ post [$ str])?

$ _post [$ str]: ''));

{

if( get_magic_quotes_gpc() )

{

return htmlspecialchars(isset($_GET[$str])?$_GET[$ str]:'') }

else

{

return addlashes(htmlspecialchars(isset($_GET[$str])?

$_GET[$str]:''));

}

}//オープンソースコード phpfensi.com

}

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