is_numericはSQLインジェクション攻撃を阻止するのに十分だと私は安全に仮定できますか(私がちょうどID番号を取得していれば)?またはis_numericを通過できるSQLインジェクションメソッドがありますか?は、SQLインジェクションがis_numeric関数を介して可能性がありますか?
答えて
が務めだけを行うには:あなたはis_numeric
機能のオーバーヘッドを回避することができ
$id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
この方法です。どちらの方法でも注射を避けるのに十分です(ただし、is_numeric
がFALSEを返した場合は、データに対して何かを行う限り)。三項演算子はまた、問題の$ _GET変数が存在しない場合、E_NOTICEを受け取らないようにします。
関数呼び出しのオーバーヘッドを三項演算子と比較してどれだけ高いかを記述できますか? – KingCrunch
@ KingCrunch:必ずしもこのメソッドを使用する必要はありません。入力を検証する機会はありません。 –
@KingCrunch私は 'オーバーヘッド'引数が宗教的なオタク戦争を開始することができます知っているが、私は不必要な関数呼び出しを避けることがこれまで悪いことができないか見ていない。 – rdlowrey
intval
またはfloatval
を使用できます。あなたがより良いだろう
いいえ、ありません。しかし、例えばis_numeric('0xaf5') == true
ということを思い出させてください。それで、あなたが達成したいことに応じて十分ではないかもしれません。
- 1. dataadapterです。 SQLインジェクションに脆弱性がありますか?
- 2. 私のサイトはSQLインジェクションの脆弱性があります。
- 3. 外部キーが列ではなくSQL関数である可能性はありますか?
- 4. NullPointerExceptionがInheritableThreadLocalに関連している可能性があります
- 5. メモリリークの可能性があります。
- 6. SQL-Plusファイルx.sqlからPL/SQLの問題を呼び出すと、関数my_functionが関数ではない可能性があります。
- 7. メモリアクセスに問題がある可能性がありますか?
- 8. Oracle:PL/SQL関数から何も返さない可能性がありますか?
- 9. Rails Spreeのデバッグ。データベース関連の可能性があります
- 10. テーブルのSQL Serverフィールドが空である可能性があります
- 11. .htaccessがループを起こす可能性がありますか?
- 12. スタックサイズやオーバーフローの可能性があるメソッドが多すぎる可能性はありますか?
- 13. Delphi DLLがアンロードされていない可能性があります.GDIがまだ割り当てられている可能性があります。
- 14. pthread_cond_signalがクラッシュする可能性がありますか?
- 15. Enumが肥大化する可能性がありますか?
- 16. C#コンソールアプリもクラスライブラリとして機能する可能性がありますか?
- 17. 精度が低下する可能性はありますか?
- 18. 分数損失の可能性があります
- 19. 変数が初期化されていない可能性があります
- 20. UIPageControlが複数のページを進める - 可能性はありますか?
- 21. REMOTE_ADDRが空白になる可能性はありますか?
- 22. iframeのセッションが異なる可能性はありますか?
- 23. Remotingがクラス内にある可能性があります
- 24. エミュレータのメモリが不足している可能性はありますか?
- 25. 複数のネストされたループがある可能性があります
- 26. VC++のATL DLLがクラッシュする可能性があります - 32ビット/ 64ビットの問題に関連する可能性があります
- 27. フォームフィラーをブロックする可能性がありますか?
- 28. は定義が間違っている可能性があり
- 29. タイマを使用しない可能性があります
- 30. NSStringがアプリをクラッシュさせる可能性があります...
おそらく安全です。しかし、これはプリペイド・ステートメント(PDO)の使用を避ける理由ではありません。 –