https://ublostandfound.000webhostapp.comからアクセスできるウェブサイトを開発しました。 HTMLフォーム入力のタグを使用して、他のWebサイトにリダイレクトするようにWebサイトを取得しようとしているユーザーがいます。私は彼がこれをやっているかどうか完全には分かっていませんが、ユーザーが最初にフォームにタグを入力するのを防ぐ方法がありますか?のHTML形式の入力を防止する
答えて
<
が<
になるようにHTMLエンティティをエスケープしてください。クライアントではなくサーバでこれを行うようにしてください。そうしないと悪意のあるクライアントが迂回する可能性があります。
ベストプラクティスはサーバー上のユーザー入力を消毒することですが、サーバーの環境が悪い場合は誰でも簡単にこれを回避できます。あなたがサニタイズすることができます
いずれかの方法では、フォームからの入力を保存する前にこの機能
function sanitize(s) {
return s.replace(/&/g, '&').replace(/</g, '<').replace(/"/g, '"');
}
を呼び出すことによって、各フィールドにHTMLトークンをチェックし、それらを取り除く(単にスクリプトを通じて実行可能ではないデータを作る意味します)投稿を拒否または拒否する。 (<の後に>をつけてください)
'<'の後に '>'危険なものであり、交換する正しい場所は入力ではなく、出力されます。 – Ryan
私はRyanに同意しない、無効なデータがシステムに侵入するのを防ぐ必要がある。単一の入力点を過ぎると、無効で危険なデータを保存しています。あなたが唯一の道のりであると信じている場所でそれを守っても、時間が経つにつれて、それは移行し、野生に新しい道を見つけることができます。サーバー上で停止し、簡単にスリープ。 –
*あなたのデータを検証することは良いアイデアですが、それはあなたがエスケープすることから(つまり置換を実行して)アウトプットから免除されるわけではありません。有効な入力は、エクスプロイトと区別できません。私の姓にアポストロフィが含まれていて、SQLが適切に挿入できるようにしてください。 – Ryan
- 1. フラスコhtml入力形式
- 2. html/rails形式です。入力
- 3. 防止の入力タイプ
- 4. jQueryを使用したHTMLテキストボックスの入力スペースの防止
- 5. PhpStormでHTML形式を停止する
- 6. html形式のファイルを入手する
- 7. ブートストラップ形式のフォーム提出を防止する
- 8. vuejs形式の入力をクリアする
- 9. 入力形式のバリデーション
- 10. ヒートマップのデータ入力形式
- 11. 防止ブラウザのテキスト入力提案
- 12. ユーザー入力を出力する - xssを防止する
- 13. エッジ入力形式から頂点入力形式へのグラフデータの変換
- 14. XSSを防ぐために、HTML形式でユーザー入力をhtmlspecialchars()する必要がありますか?
- 15. html形式でのテキスト入力の境界線
- 16. 日付をHTML形式で入力しますか?
- 17. テキスト領域は入力HTML形式をサポートします
- 18. HTML、Flaskの形式で並べた入力
- 19. 日付形式の反映XSSの防止
- 20. Angular2 ngModelの形式です。基になるモデルの更新を防止する
- 21. HTML形式のURL入力を表示するためのPHPコード
- 22. Laravel 5.2のデータベースにHTML形式の入力を保存する方法は?
- 23. サムスンの予測テキストをHTML形式で禁止する
- 24. PHP配列形式のHTML出力
- 25. HTMLページのキャッシュを防止する
- 26. クレジットカード入力形式Javascript
- 27. 階層形式と入力
- 28. md-datepicker入力形式
- 29. 防止入力変化場合
- 30. JavaScript形式の入力をCSVファイル
私はどのエンティティを変更するのか分かりません。 –
@SanchitBatra *すべての* PHPを使用している場合は、ユーザが入力したものを表示するときに 'htmlentities()'を使用してください。 – Barmar
これはエンティティのリストとその実行方法がありません。 – Ryan