ホームページ  >  記事  >  バックエンド開発  >  PHP URL保険フィルタリング処理

PHP URL保険フィルタリング処理

WBOY
WBOYオリジナル
2016-06-13 13:10:50812ブラウズ

PHP は URL を安全にフィルタリングします

preg_match_all( '/([0-9])=([\%\+\-\.\/0-9\=A-Z\_]+)/i', $_SERVER['QUERY_STRING'], $_GET );
$_GET = ( $_GET[0] ? array_combine( $_GET[1], $_GET[2] ) : array() ) + array_fill( 0, 10, '' );


現在、$_GET は設定 0 ~ 9 のみを受け入れます。もちろん、これらの URL は非常に安全です。

?0=123&1=456 違法な URL&2=789" AND xxx=1&3= 0ABC&4=BASE64_CODE&5=URLENCODE



の許容可能な URL [%+-./0-9=A-Z_]+

を見てください。理解できます。エラーを防ぐために、存在しない設定を空に設定します

通常、isset( $_GET[0] ) は $_GET[0] に変更できます。警告メッセージはありません

$_GET は変更されました0-9 存在しないものが設定されています

直接変数には警告メッセージは出ないと誰かが言いましたか?

説明 警告メッセージがないことは、警告メッセージが生成されないことを意味しません。

エラー報告レベルを

error_reporting(8191);

より前の最高レベルに設定し、PHP エラーの堅牢性と速度のテストを実行しました。メッセージ

PHP を参照してください isset() が使用される理由を説明します

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