プロが教える店舗&オフィスのセキュリティ対策術

phpでトップページログインフォームより会員がログインできる仕組みを作りたいと思っています。
この場合、ログイン認証部分のみSSL通信をおこないたいと考えています。

この場合、
トップページをhttps://toppage.html(sあり)とし、
ログインフォームのaction先を、http://check.php(sなし)のように考えていたのですが、

http://q-shu.net/futsukaichi/
こちらのサイトURLは、トップページがhttpになっており、
会員ログインフォームのaction先がhttps:〇〇〇
となっています。

てっきりログインフォームのあるページURLはhttpsでないと暗号化されないと思っていたのですが、
action先がhttpsになっていれば暗号化されてデータは送られるのでしょうか?

ご回答どうかよろしくお願いいたします。

A 回答 (3件)

> phpでトップページログインフォームより会員がログインできる仕組みを作りたいと思っています。


> この場合、ログイン認証部分のみSSL通信をおこないたいと考えています。

こういうことをしても許されるのって2000年代までだと思ってました。
https://www.verisign.co.jp/ssl/first/always-on-s …

その後のページでSSLを使っていないとなると、認証クッキーを盗聴して、なりすましし放題ですよね。
それに、SSLはスループットの良い暗号を選べば、随分CPU負荷が少ないと思います。

> action先がhttpsになっていれば暗号化されてデータは送られるのでしょうか?

はい。https://....と書いてあるなら、HTTPSで接続してデータを送信します。つまり、暗号化されています。本当に暗号化されるか不安ならwiresharkなどで実際の通信をダンプしてみると良いでしょう。

ちなみに、情報セキュリティというと、機密性(Confidential)、完全性(Integrity)、可用性(Availability)を考えます。それぞれ、権限がない人に情報を見せない、情報が改竄されていない、権限がある人が情報を利用できるという意味です。
「暗号化」と機密性にばかり注目しがちかもしれませんが、SSLはこの機密性と完全性の両方を提供するものだと思います。つまり、盗聴対策と改ざん対策です。

> この場合、
> トップページをhttps://toppage.html(sあり)とし、
> ログインフォームのaction先を、http://check.php(sなし)のように考えていたのですが、

これは何をしたいのかわかりませんが、action先がHTTPSでないということは、平文でパスワードなどが送られます。
なんというか、羊頭狗肉ですね。 (SSLを使っているように見せかけて、本当は使っていない)

> こちらのサイトURLは、トップページがhttpになっており、
> 会員ログインフォームのaction先がhttps:〇〇〇
> となっています。

これも典型的な駄目なケースだと思います。
通信経路上でトップページの改ざんが行われた場合や、フィッシング詐欺が行われている場合、攻撃者のサイトにHTTPSで接続してパスワードを送ることになりますよね。
しかも、ブラウザで見る限りは異常が見えないので、ユーザーは攻撃者のサイトにパスワードを送るまで攻撃者のサイトにパスワード送ることに気づけないでしょう。


というわけで、ログインページからログアウトするまでちゃんとHTTPSを使ったほうがよいと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
安全性を考えてすべてのページで使う方向で検討したいと思います。

詳しく説明していただきありがとうございます。

お礼日時:2013/07/13 09:40

直接の回答はNo1さんの通り。



なお、セキュリティの観点からは、formを表示するページ、action先のページ、両方がhttpsである必要があります。

参考:
http://takagi-hiromitsu.jp/diary/20051130.html
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
片方のみhttpsがついているサイトが多かったのでそれに惑わされていました。
教えていただきました参考ページ、とてもわかりやすいです。
ありがとうございます。

お礼日時:2013/07/13 09:43

> action先がhttpsになっていれば暗号化されてデータは送られるのでしょうか?



その通りです。

ログインフォームが http と https のどちらで表示されようが関係ありません。
送信先(action)が https のときだけ暗号化されます。
受信は送信に使用した接続を使用するので、受信の暗号化有無は送信方法で決まります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

ログインフォームのあるページがhttpだとhttpsのページへ暗号されずに
POSTされてしまうのではないかと勘違いしていましたがお蔭様で解決できました。

お礼日時:2013/07/13 09:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!