ホームページ >バックエンド開発 >PHPチュートリアル >セキュリティを確保するために、PHP は送信されたデータに対してどのようなフィルタリングを行う必要がありますか?何をするか

セキュリティを確保するために、PHP は送信されたデータに対してどのようなフィルタリングを行う必要がありますか?何をするか

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 13:32:11857ブラウズ

セキュリティを確保するために、PHP は送信されたデータに対してどのようなフィルタリングを行う必要がありますか?
最も単純なユーザー ログイン $_POST['username']、$_POST['password'] を例に挙げます。SQL クエリを実行する前に、どのような検証が必要ですか?

-----解決策--------------------------------
SQL インジェクションを防止するには少なくとも一重引用符をエスケープし、XSS 攻撃を防止するには < をエスケープする必要があります。
既製の関数がいくつかあります htmlspecialchars($_POST['username'], ENT_QUOTES)
------解決策------------------
これは mysql インジェクションと呼ばれます。参考:

http://php.net/manual/en/security.database.sql-injection.php

解決策

http://stackoverflow.com/questions/60174 /best -way-to-stop-sql-injection-in-php

主にアンチクオート エスケープ mysql_real_escape_string

同時に、条件が許せば、drop、delete、挿入、更新など。

------解決策---------
SQL クエリの場合、mysql_real_escape_string のみが必要です。これは次のとおりです。これにより、SQL が正しく実行されることが保証されますが、一部のセキュリティ上の問題も防ぐことができます。

データに他の要件がある場合は、許可されているユーザー名/パスワードの長さなど、他の検証とフィルタリングを実行できます。

出力される可能性のあるコンテンツのみを HTML エンティティなどに変換またはフィルタリングする必要があり、詳細は実際のビジネスに基づいて決定する必要があります。 .

要するに、必要も計画もありません

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