
phpでトップページログインフォームより会員がログインできる仕組みを作りたいと思っています。
この場合、ログイン認証部分のみSSL通信をおこないたいと考えています。
この場合、
トップページをhttps://toppage.html(sあり)とし、
ログインフォームのaction先を、http://check.php(sなし)のように考えていたのですが、
http://q-shu.net/futsukaichi/
こちらのサイトURLは、トップページがhttpになっており、
会員ログインフォームのaction先がhttps:〇〇〇
となっています。
てっきりログインフォームのあるページURLはhttpsでないと暗号化されないと思っていたのですが、
action先がhttpsになっていれば暗号化されてデータは送られるのでしょうか?
ご回答どうかよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
> 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を使ったほうがよいと思います。
ご回答ありがとうございます。
安全性を考えてすべてのページで使う方向で検討したいと思います。
詳しく説明していただきありがとうございます。
No.3
- 回答日時:
直接の回答はNo1さんの通り。
なお、セキュリティの観点からは、formを表示するページ、action先のページ、両方がhttpsである必要があります。
参考:
http://takagi-hiromitsu.jp/diary/20051130.html
ご回答ありがとうございます。
片方のみhttpsがついているサイトが多かったのでそれに惑わされていました。
教えていただきました参考ページ、とてもわかりやすいです。
ありがとうございます。
No.1
- 回答日時:
> action先がhttpsになっていれば暗号化されてデータは送られるのでしょうか?
その通りです。
ログインフォームが http と https のどちらで表示されようが関係ありません。
送信先(action)が https のときだけ暗号化されます。
受信は送信に使用した接続を使用するので、受信の暗号化有無は送信方法で決まります。
ご回答ありがとうございます。
ログインフォームのあるページがhttpだとhttpsのページへ暗号されずに
POSTされてしまうのではないかと勘違いしていましたがお蔭様で解決できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
こんなことはPHPで可能なのでし...
-
テキストボックスの値の保持
-
PHPでの画像の形式の変換
-
VBScriptでのWEBページのソース...
-
VB.NETでボリュームを取得・設...
-
Dosブロンプトでtabを出力したい
-
PHP 指定した期間だけ表示した...
-
DTOとEntityの差は何ですか。
-
PHP4からPHP5へ移行した際、セ...
-
WordでExcelデータを差込...
-
昨日の日付を取得するVBscript
-
VBブラウザに表示されているテ...
-
ミュージックのアートワークを...
-
C言語で地図を描きたい
-
文字列から期間算出 09-12 12-12
-
4桁の乱数の発生
-
ログイン画面をはさんだ後、自...
-
evalの中でNULLを使用して比較...
-
checkboxでの複数選択削除がわ...
-
ちょっと複雑なURL分解について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IFRAME内PHPのセッション変数取...
-
PHPで値を保持する方法
-
asp.netでのセッションを使用し...
-
VBAで重複チェックの仕方を教え...
-
フォームを使わずにPOST送信す...
-
【Java】投稿完了画面リロード...
-
php history.back()の戻るボタ...
-
セッションを使用したページ遷移
-
HTMLエスケープ処理とデーター...
-
PHP+MySQLからHTMLページを自動...
-
POSTで受け渡したものを保存し...
-
飛び先のランダムURLの取得方法...
-
cURL関数を使用したphpからのpo...
-
ログイン画面から入って、「戻...
-
BBSにダブルクォーテーションを...
-
アクセスでのデータ保存について。
-
ブラウザの戻るボタンで重複登...
-
ブラウザバックしてもチェック...
-
htmlspecialcharsについて
-
閉じるボタン「×」を制御したい
おすすめ情報