
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ランキング
-
セッション関数を使わずにファ...
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
composerをインストールしたい...
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
phpに関わる所での、form actio...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
SplFileObject を利用したとき...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
phpのheader("Location:#pos")...
-
PHPからCSVをアップロード後、m...
-
[php初心者]サイトを見てデータ...
-
ゆゆにゃ。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php history.back()の戻るボタ...
-
PHPで値を保持する方法
-
【Java】投稿完了画面リロード...
-
POSTで受け渡したものを保存し...
-
asp.netでのセッションを使用し...
-
IFRAME内PHPのセッション変数取...
-
フォームを使わずにPOST送信す...
-
閉じるボタン「×」を制御したい
-
HTMLエスケープ処理とデーター...
-
セッションを使用したページ遷移
-
【ExcelVBA】検索したデータを...
-
PHPで返信メールにチェックボッ...
-
アップロードした画像の削除
-
PHP、MySQLで動作する検索プロ...
-
cURL関数を使用したphpからのpo...
-
ログイン画面から入って、「戻...
-
「ページネーション」で検索キ...
-
PHPで名寄せするには?
-
php 入力画面から確認表示画面...
-
セッション使用時のフォームの...
おすすめ情報