ホームページ >バックエンド開発 >PHPチュートリアル >MySQL ステートメント インジェクションのアドバイス

MySQL ステートメント インジェクションのアドバイス

WBOY
WBOYオリジナル
2016-06-23 14:02:59772ブラウズ

$sql = "select * from ".$site->table( "ad" )." where language_id=".$s[0]." and category='".$s[1]."' およびtype=0 および state=0 order by sort_order desc";
mysql_query($sql);
$s は、URL を通じて渡されるパラメータです。 $s[0] にどのような値を入力すると、インジェクションの脆弱性ですか? それともインジェクションの脆弱性が発生しますか? このステートメントはインジェクションできません。


ディスカッションへの返信(解決策)

何でも記入することが可能です
しかし、それによって引き起こされる害は実際には考えられません

以下のステートメントによって制限されているようで、私は記入しませんデータベースインジェクションについてはあまり知りません。
専門家が欠陥があることを知っていて、ガイダンスを提供したい場合は、

フレームワークを使用することをお勧めします。SQL インジェクションなど、フレームワークによっては自動的にカプセル化されるものがあります。

$s[0] = $s[0]." -- ";//コメントを追加して詳細情報を収集します

$s[0] = $s[0]." and 0<>(select count( *) from admin)";
admin テーブルなどがあればわかります

$s[0] = $s[0]." -- ";//コメントを追加して詳細情報を収集します

$s [0] = $s[0]." and 0<>(select count(*) from admin)";
管理テーブルがあるかどうかだけがわかります。実際、テーブルの構造はわかります。 、これには問題があるといつも思っていますが、それほど有害ではないようです

language_id="" または ""="" と

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