ホームページ  >  記事  >  バックエンド開発  >  get によって提供される変数 htmlspecialchars をフィルターするだけで十分です。

get によって提供される変数 htmlspecialchars をフィルターするだけで十分です。

WBOY
WBOYオリジナル
2016-06-13 13:16:11874ブラウズ

get によって送信された変数 htmlspecialchars をフィルターするだけで十分ですか?
例えば、ユーザー名を検索する機能を実装したい場合、実際にユーザー名を取得するには、htmlspecialchars を使用するのが安全ですか?

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->htmlspecialchars(trim($_GET['username']), ENT_QUOTES);


------解決策------ -
スラッシュハンドル (')、(")、() および NULL を追加します
------解決策------------------
実際には、SQL インジェクションを防止したいと考えています。 php5.4.0 バージョン以降では、get_magic_quotes_gpc() がオンになっている場合、get/post/cookie によって送信されたデータは自動的にエスケープされます。ただし、get_magic_quotes_gpc() は php5.4.0 で削除され、常に false を返します。 >
したがって、最も安全な方法は、データベースへの攻撃を防ぐために mysql_real_escape_string() を介してエスケープすることです。

if (get_magic_quotes_gpc()) {
$username=ストリップスラッシュ($ _GET['ユーザー名']);
}
else {
$username= $_GET['username'];
}

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