ホームページ >バックエンド開発 >PHPチュートリアル >Web サイトの 360 度スキャンで脆弱性が明らかに

Web サイトの 360 度スキャンで脆弱性が明らかに

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 13:17:041394ブラウズ

360 スキャン Web サイトで脆弱性があることを示すプロンプトが表示されます

入力文字列をフィルタリングしましたが、依然としてプロンプトが表示されます。
get_magic_quotes_gpc() を解決するには? $_REQUEST['key'] :addlashes($_REQUEST['key']);

search.php?key=Your%20Story%3C/title%3E%3C/head%3E%3Cbody%3E%3Cscript%3Ealert(42873);%3C/sCript%3E

ユーザーがこれを入力すると、私のWebサイトの上部にWebサイト名が表示されます。困惑

-----解決策---------
Your%20Story%3C /title %3E%3C/head%3E%3Cbody%3E%3Cscript%3Ealert(42873);%3C/sCript%3E
あなたの文字列の出所がわかりません

あなたのストーリー ;<script>alert(42873);</sCript>

------解決策------------------
簡単に言うと、addslashes は単一のアイテムのみをフィルタリングできます引用符やその他の文字はエスケープできません。htmlspecialchars 関数を使用することを忘れないでください。
------解決策------------------
get_magic_quotes_gpc() $_REQUEST['key' ] : フィルタリングメソッドを追加します($_REQUEST['key']);

このコードをお持ちですか? 。 。 。 。

PHP コード

関数エスケープ($value)
{
    $value = is_array($value) ? array_map('escape',$value):htmlspecialchars(trim($value));
    get_magic_quotes_gpc()?$value:addslashes($value) を返します。
}
$_GET = array_map('エスケープ', $_GET);
$_POST = array_map('エスケープ', $_POST);
$_COOKIE = array_map('エスケープ', $_COOKIE);
$_REQUEST = array_map('エスケープ', $_REQUEST);
<br><font color="#e78608">------解決策------</font><br>addslashes は一重引用符と NULL 文字をフィルターします。ユーザーに表示されるドキュメント以外のコンテンツはすべて htmlspecialchars である必要があります。
<br><font color="#e78608">------解決策----------------------</font><br>明らかに、ユーザー JS コードに問題があります。ユーザーが送信したキーを JS に入力して、それをユーザーに動的に表示したいと考えられます。<div class="clear"> で htmlspecialchars が使用されているかどうかを注意深く確認してください。</div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。