2012-02-17 43 views
1

私はdoget()またはdopost()メソッドを使用してログインフォームに入力されたユーザー名とパスワードフィールドを処理する多くのWebサイトに出くわしました。私たちがdoget()を使うとき、私は自分自身でusernameとpasswordフィールドを暗号化しなければなりません。これは、dopost()ではそうではないURLに追加されます。どのような方法がログインフォームdoget()またはdopost()に使用する方が良いですか?

しかし、私は、dopost()が安全で安全であるかどうかは、ユーザ名とパスワードフィールドが機密性の高いデータであるかどうかについて少し心配していました。

ログインフォームで使用するメリットとデメリットのどちらも教えてください。

+2

IMO doPost()を使用してください。また、doPost()を使用してパスワードを暗号化する必要があります。より正確にはSSLを使用します。 –

+0

@Harry ok素早く答えていただきありがとうございますが、なぜ私は、パスワードを暗号化する必要があるのか​​分からないのですが、私はそれをdopostのリクエストボディから送信しています...私は "それはハッキング可能ですか? "?? – Nav

+0

質問が絶対的に本物である理由を明記せずに投票理由を教えてください。>: – Nav

答えて

2

POSTには高いオーバーヘッドがあります(私たちが正直であればわずかですが、すべてが加算されます)が、URLの一部にはならないので、カジュアルオブザーバーユーザの肩の上に置くことができますが、GETは可能です。しかし、どちらも暗号化を使用しないと、ネットワーク上で簡単に傍受される可能性があります。暗号化を使用しないと安全ではありません...パスワードを盗み見ることなく誰でも読むことができるため、GETは悪化します。

GETを使用すると、ユーザーはURLを変更するだけで簡単に入力を変更できます。これは良いことか悪いことか、ケースバイケースで決定する必要があります。投稿はユーザーが簡単に変更することはできません。

秘密は、送信する前にパスワードや機密データを暗号化することです。そうすれば、パケットが傍受され、文字列を暗号化しているので、誰かがそれをユーザーの肩で読み取るかどうか気にする必要はありません。したがって、GETを使用して、オーバーヘッドは、長くてかわいらしいURLを犠牲にしています。この段階ではどちらも他のものよりも本当に安全です。

理想的なセキュリティの世界では、POSTにSSLを使用すると、URLには何も簡単に傍受されることはなく、傍受されるものは何も簡単に使用できません。

+0

@Johnもう1つ.. SSLを使用しても、私はverisignや誰かからSSL証明書を購入する必要はありません。代替手段はありますか? – Nav

+0

私は理想的な世界では言っていました;-)暗号化は非常に間違いありませんSSLなし。企業環境では、ほとんどの場合SSLを使用したいと思っています.SSLはあなたの会社に自信をもたらしますが、Javaでは暗号化機能が十分に組み込まれています。開始点のためにCipher、SealedObject、Keyクラスを見てください(より良いものになる可能性がありますが)。 –

+0

ohhありがとうございました。 – Nav

1
  1. このメソッドはurlの最後にユーザー名とパスワードを追加しないため、doPost()メソッドを使用する必要があります。
  2. doGet()メソッドを使用する場合は、url.Soのユーザー名とパスワードの末尾が追加されます。安全ではありません。より安全なdoPost()メソッドに進むことをお勧めします。 さらにセキュリティを強化したい場合は、SSL(Secure Socket Layer)も使用してください。
+0

また、もし私がいくつかの大きな企業がdopostの代わりにdogetを使っているのを見るまでは、そう思っていたのですが、Ex FacebookやOrkutもdogetを使っているのですが、クエリ文字列は間違いなく暗号化されています。 – Nav

関連する問題