製品の詳細(ページあたり15,30または45)のWebページを作成しました。 ユーザーはレビュー、価格などで並べ替えることができ、ブランド、重量などを選択できます 私は外部ページにクエリを送信するためにAjaxを使用しています。これは危険ですか? 私が攻撃を受けないようにするには別の方法はありますか?リロードせずに結果をフィルタリングするAjax
-2
A
答えて
0
APIから、クライアントからのリクエストを監査していることを確認してください。境界を確認し、不正な形式ではないことを確認し、期待通りのものであることを確認してください。それが無効であれば、それが有効であれば(403/404/etc ...)というクライアントに適切な応答を返し、フィルタリングされた結果を送り返します。
0
クライアントから生のSQLを送信しないでください。フォームフィールドの値を送信し、サーバー上のPHPスクリプトで使用してSQLクエリを作成してください。
フォームフィールドからWHERE
句を動的に生成する方法については、https://stackoverflow.com/a/28909923/1491895を参照してください。同様の方法をORDER BY
句に使用できます。
関連する問題
- 1. Symfony2のフィルタリング結果 - AJAXリクエスト
- 2. php/ajax/mysqlは、ページ全体をリロードせずにリロードする
- 3. Select2クエリに基づくAjaxフィルタリング結果がありません
- 4. MySQL、PHP、Ajaxで結果セットをフィルタリングするには?
- 5. AJAX/JQueryを使用してフォームを送信し、リロードせずに結果を表示
- 6. Rails:検索結果をメモリにロードせずにフィルタリングする方法
- 7. WordpressでページをリロードせずにJQueryとAJAXに投稿する
- 8. 新しいSQLクエリを起動せずにクエリ結果をフィルタリングする
- 9. ページを更新せずにajaxをリロードする方法
- 10. PHP関数をAJAXでリロードせずに実行する
- 11. ページをリロードせずにajaxでフォームを送信しますか?
- 12. コレクション内の結果をコレクションから除外せずにフィルタリングします。
- 13. フィルタリング結果
- 14. ページをリロードせずにAJAXでポートフォリオ商品をロード
- 15. AJAX:リロードせずにページ上のテキストエリアを更新
- 16. CSSスタイルをAJAXで変更してリロードせずに
- 17. フィルタリング結果がsolr
- 18. リロードせずにAjaxページを更新すると、コンテンツが倍になります
- 19. ページ(AJAX)をリロードせずにdjangoテンプレート変数を更新するには?
- 20. WordpressでAjaxを使用してページをリロードせずにDivをロードする
- 21. ページ全体をリロードせずにjavascriptでリロードする
- 22. ページをリロードせずにajaxでデータを送信する方法は? (Nodejs)
- 23. リフレッシュせずにajaxを使用してページの内容をリロードする
- 24. リロードせずにJqueryクローンイメージ
- 25. プロファイル結果のファイルをフィルタリングする
- 26. 結果をフィルタリングする - Ruby on Rails
- 27. Sunspot Solrの結果をフィルタリングする
- 28. ping結果をフィルタリングするバッチファイル
- 29. Directus API:結果をフィルタリングする方法
- 30. SSRS棒グラフの結果をフィルタリングする
なぜこれは危険だと思いますか?サーバースクリプトがあなたが権限を持っているかどうかを確認する限り、あなたはOKであるはずです。攻撃を防ぐことはできません。攻撃が成功しないように、適切なチェックを確実に行うだけです。 – Barmar
訪問者はHTMLでクエリを変更できるため、UPDATEコマンドまたは同様の危険なクエリを受け取ることができます – LuigiMdg
ああ、実際にはAJAX経由でSQLを送信していたことはわかりませんでした。これを行う適切な方法は、検索オプションを送信し、それらからPHPでクエリを構築することです。たとえば、http://stackoverflow.com/a/28909923/1491895を参照してください。 – Barmar