URL短縮サービスを書いています。私は危険なシナリオを考えようとしています。 私は、提出されたURLが自分のウェブサイトからのものであれば、無限のリダイレクトループを作成すると考えました。URL短縮サービス
あなたは他のどんな状況も考えますか? (セキュリティホール、バグ...)
URL短縮サービスを書いています。私は危険なシナリオを考えようとしています。 私は、提出されたURLが自分のウェブサイトからのものであれば、無限のリダイレクトループを作成すると考えました。URL短縮サービス
あなたは他のどんな状況も考えますか? (セキュリティホール、バグ...)
あなたはすでにそれを知っているでしょうが、私はあなたがしようとしていることを正確に指摘してTinyURLを指摘することを義務づけられています。
あなたが説明している明白な無限のリダイレクトとは別に、実際には多くの技術的な問題は発生しません。より大きな問題は政治的なものになります。つまり、スパム、ポルノ、悪意のあるサイトをあなたのURLの背後に隠している人、面白いと思われる場所を指し示す「面白い」URLを作成している人などです。
彼らが遭遇した問題のアイデアを得るにはthe Wikipedia entry for TinyURLを見てください。
「危険な」シナリオを考えようとするのではなく、セキュリティホール/バグに関係なく、自分自身にリスクがないように書く方法を考えてみてください。
問題を回避するすべての問題を解決することはできないかもしれませんが、問題を回避するにはより良い方法です。
セキュリティホールによって引き起こされる動作を避けるために記述してください。あなたの例では、同じIPからのX回以上のリクエストをX時間で取得した場合。
これらの行に沿って考えてみると、それらを阻止しようとするよりも多くの脅威が排除されます。
このようなサービスの危険の多くは、サービスのユーザーにとって危険ではありません。あなたはTinyURLのとセキュリティのための検索を行う場合は、このようなものをたくさん見つけることができます:
http://www.readwriteweb.com/archives/tinyurl_being_used_to_bypass_safe_browsing_filters.php
私は、彼らがこれらに対処してきたかを確認するTinyURLのとBit.lyに多くの研究を行うだろう問題。
自分のアプリケーションが実行される限り、すべての標準的なベストプラクティスが適用されます。入力を検証し、データベースに安全に挿入してください。
いつもあなたのサービスから来ているかどうかを確認できます。
あなたがあなたのより小さいURLのTinyURLであることを心配している場合は、いつでもリンクをたどることができます。
ほとんどのブラウザでは、何度も何度も起こったと感じた後にリダイレクトを停止します。 URLを実行するときは、いつでもサーバー名/ IPを確認できます。 –