2011-07-25 21 views
0

アプリケーションで生成されたURLを保護するにはどうすればよいですか?アプリケーションURLを保護する

http://www.mydomain.com/jsp/get_article.jsp?id=1

は、どのように私は人間にこれらのURLが読めない作るのですか?

+2

"人間に読めない"、 "保護する"と "安全にする"はすべて異なっています。どのような脅威から守ろうとしていますか? – yan

+1

これは、実際の「セキュリティ」機能を提供していない間に、検索エンジンがインデックスを作成するためにページを難しくするため、 – Pepe

答えて

1

できることは、http://www.mydomain.com/jsp/get_article.jsp?hash=[base32 MD-5ハッシュ値]などのハッシュを使用することです。次に、サーバ上にテーブルハッシュ - >記事があります(ハッシュは一意であるため、別の記事のハッシュ間の "衝突"に気を付ける必要はありません)。もちろん、あなたは依然としてクライアント側でハッシュを持っていなければならないので、そこでそれを計算するか、単にページ内でそれを与える必要があります。

ハッシュは記事自体のハッシュであるため、記事は常にユニークであり、実際の記事を知らなくても推測できません。タイトルは推測が容易すぎます。

どのように見ても、あなたは完全なセキュリティを得ることはできませんが、その前にページを要求することなくURLを推測しようとする人々からセキュリティを得ることができます。言い換えれば、それほど多くの利益を得ずに多くの仕事をしています。しかし、あなたはDRMスキームを達成しようとしているので、おそらくあなたが得ることができる最高です...

0

"読むことができない"とは何を意味するのかよく分かりません。私は短い答えがあると思う:それはできない。 URLはブラウザに表示される必要がありますか、それはどのようにリソースを要求しますか?あなたの質問は、「私の電話番号を知らせることなく、人々が私に電話をかけることはできますか?

あなたのURLを暗号化することができます。しかし、なぜ?

URLに、ユーザーに表示させたくない情報がある場合は、URLに入れないでください。同様に、あなたのシステムの "馬鹿の"セクションに不可能な答えを与えるユーザーを指示するカスタマーヘルプシステムがあれば、私はURLを "http://example.com/help/moron.jsp?screen"にしません= 17 "となる。それを非記述なものと呼んでください。もっと真剣に、顧客のパスワードやその他の機密情報をURLの一部にしてはいけません。ユーザーIDのような「安全な」データを介してアクセスするサーバー側のデータには、この種の情報を保管してください。

関連する問題