私はphpからsqliteへの入力をサニタイズする方法を見つけ出そうとしています。私はmysqlを使うことができません。単にsqlite_escape_stringを使用するだけで十分ですか、それとも何か他のことをする必要がありますか?また、私はsqlite2しか使用できません。mysqlなしでPHP入力をサニタイズする方法
答えて
は方法がありますが、それはあなたの入力のターゲットに依存し、それをよりよく理解するためにこの質問を参照してください:What's the best method for sanitizing user input with PHP?
sqlite_escape_string()
は、すべてあなたが入力した文字列を必要とする消毒行う必要があります。出力する場合は、HTMLに出力する場合は、出力する前にhtmlspecialcharts()
を使用してください。
SQLiteはsqlite_escape_string()
を提供しています。 PHP 5でしか利用できません。
これらの方法に頼るだけでは、注射からあなたを救うことはできません。命令には、が常にになります。メソッドに従う前に、ユーザー提供の入力が最初に検証されてから、依存する必要がありますが、実際には作成されていません。
SQLインジェクションを避ける最も良い方法は、パラメトリッククエリの使用を強制することです。は、文字列連結または変数補間によって手動でSQL文を手動でアセンブルすることはありません。
PHP 5以降では、(特に)SQLiteやパラメトリッククエリをサポートするマルチデータベース抽象化レイヤであるPDOを使用できます。
エスケープ関数は、SQLダイアレクトで使用される特殊文字(主に引用符)がエスケープされていることを確認し、挿入/更新などが機能するようにします。すべてのsqlite_escape_stringは単一引用符でエスケープします。
それで、誰かがSQLインジェクションを手掛けることができるという実質的な懸念があります。 v2を使用しているため、あなたを保護するprepare関数と_bind()関数を使用することはできません。
SQLiteでは、 ';'で区切られたコマンドを連鎖させることができます。だからそこに問題がある。まず、ヘルパー関数を使ってパラメータを作成するか、sprintfを使ってパラメータを慎重に作成し、int、float、およびstringを適切に入力することをお勧めします。
注意したいものを「エスケープする」独自のエスケープ機能を作成することができます。最も具体的には、セミコロンを使用します。ESCAPEクエリの最後に '\'エスケープ文字としてバックスラッシュを使用します。
次に、悪意のあるコンテンツ(XSS)を意図的に挿入するという問題があります。 Grigorは、あなたの文字列にhtmlentities()を使用するという1つの解決法を提供しました。
- 1. 郵送前にPHPでユーザ入力をサニタイズする方法は?
- 2. C#でユーザ入力をサニタイズする - 最もクリーンな方法?
- 3. golangの入力データのサニタイズ方法は?
- 4. ユーザPHPの入力をMySQLに入力する方法
- 5. Tastypieサニタイズ入力?
- 6. サニタイズ入力$ _POST
- 7. pingプログラムへのPHP入力のサニタイズ
- 8. ユーザー入力をlaravelでサニタイズする
- 9. ReactJSの入力サニタイズ
- 10. .Net DbCommandサニタイズ入力
- 11. Erlangの入力をサニタイズする方法は?
- 12. @ Html.Textareaは入力をサニタイズしますか?
- 13. 入力をサニタイズする.NETライブラリ?
- 14. ユーザ入力をサニタイズするRails
- 15. Java Webアプリケーションでの入力のサニタイズ方法
- 16. Javaでのデータベース入力のサニタイズ方法は?
- 17. PHP MySQLのデータベース入力をパラメータに変換する方法
- 18. 入力サニタイズVS検証
- 19. 角2入力のサニタイズ
- 20. pythonでシェル= Trueのサブプロセスのサニタイズ入力
- 21. PHPとMySQLを使用してHTMLフォームを自動入力する方法は?
- 22. oracle querysのhtml jquery-ui php入力変数のサニタイズ
- 23. PHPで配列を使ってmysqlデータベースにデータを入力する方法は?
- 24. JSONをphpでサニタイズ
- 25. javacriptを使用してクライアント側のユーザー入力をサニタイズする
- 26. Regexとブーリアンを使用して入力をサニタイズする
- 27. YIIはgetパラメータで入力をサニタイズします
- 28. mysqlデータベースにwordpressとphpでデータを入力しない
- 29. URLの一部としてユーザー入力をサニタイズする
- 30. PHP、MySQLの入力データ
http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php – DrDol