Kohanaは、ドキュメントのデータベース入力をサニタイズするためにmysql_real_escape_stringを使用すると述べています。しかし、フォームを通していくつかの基本的なクエリを試しながら、入力したのとまったく同じようにデータベースに入力されました。たとえば、Kohana 2.3.4 ORM SQLインジェクション保護
SELECT * FROM users WHERE username='admin' AND password='' OR ''=''
は、表示されているとおりにmysqlデータに入力されます。私はデータベースの代わりにORMライブラリを使用してい
SELECT * FROM users WHERE username=\'admin\' AND password=\'\' OR \'\'=\'\'
が、私は、彼らが一緒に仕事を知っている:私は見て期待していました。また、フォームからデータを収集するために、組み込み入力ライブラリ($ this-> input-post)を使用しています。私はセキュリティに関連するコントローラやライブラリを変更していません。
私はまだソースコードをコーディングしていませんが、Kohanaは文字列をエスケープしてからスラッシュを削除してからdbフィールドに入力しますか?私はこれが事実だと確信していますが、私は確信したいと思います。
おかげ
詳細な回答ありがとうございます – anthony