2011-11-08 24 views
0

SQL照会のオプションをユーザーに与えたいと思います。私は使用されたフォームにテキストエリアを配置しました。 SELECT name FROM user ORDER BY name ASCというクエリを入力したところ、予期した結果が返されました。この問題の原因である可能性がありますどのようなテキストエリアを使用したユーザー入力としてのSQL照会

Not Acceptable An appropriate representation of the requested resource /test/index.php could not be found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

:私はWHERE句SELECT name FROM user WHERE SUBSTRING(name, 1, 1) = 'J' ORDER BY name ASCSELECT name FROM user WHERE id>1000 ORDER BY name ASC使用しようとしたとき はしかし、のSELECTのどちらも働いたと私は次のエラーを受け取りましたか?私の心に最初に来たのは、>のような文字がURLを無効にすることでしたが、そうではありません。

+3

どこコードはありますか? – Drewdin

+0

どのようにWebページからアプリケーションに情報を送信していますか? POSTまたはGET? SUBMITボタンのHTMLを投稿してください(フォームを送信している場合)。 –

+0

また、あなたのビジネスが私のデータを収集したことがある場合は、データベースからすぐに削除するよう丁寧に頼むことができますか? –

答えて

1

Suhosinやmod_securityなどのような過度のソフトウェアは、私は信じています。

1

あなたのWebサーバーはおそらくmod_securityで構成されており、POSTデータをスキャンしてこの応答をトリガーしています。

参照:http://www.howtoforge.com/apache_mod_security_p2

http://www.modsecurity.org/documentation/modsecurity-apache/1.9.3/html-multipage/03-configuration.html#N10176

+0

forはGETメソッドを使用します。 "SUBMITボタンのHTMLを投稿してください" また、あなたのビジネスが私のデータを収集したことがある場合は、あなたのデータベースから?それは冗談だ:)もしあなたがデータがないことを保証できるならば、私はあなたについてのデータがないことを保証することができる。 mysql_query(stripslashes($ _ GET ['sql']))コマンドの様子は – user965748

+0

である。 mod_security – user965748

+0

@ user965748、それは冗談です。あるいは、SQLコードを重要で意味のある、個人的に識別できるデータでデータベースに直接提出できるようにする警告 - インターネット上の誰もがデータベースにしたいことを何でもすることができると仮定する必要があります。 –

関連する問題