質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Cookie

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

544閲覧

クッキーを使用したセキュリティ効果について

sakurai_rina

総合スコア22

Cookie

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/06/19 08:44

推測されにくい値のクッキーを設定する、推測されにくいファイル名のページがあるとします。
事前にそのページにアクセスしなければ他のページは一切表示されません。
セキュリティを上げるためか主に管理画面に対して上記の形を取っている大手サービスをいくつか見てきたのですが、実際効果はあるのでしょうか?
効果がある場合、ベーシック認証と比べてどちらが強力でしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2019/06/19 08:55

「推測されにくい値のクッキー」は「他のページ」へのアクセスの際にも送信されている、という状況でしょうか、それとも違う手順を踏んでいますでしょうか。
papinianus

2019/06/19 09:48

ユーザ認証はないということですか?つまりそのページにアクセスすればidpwなしで管理者しか見れない画面が開けるということでよいですか?
sakurai_rina

2019/06/19 10:43

ありがとうございます。 >「推測されにくい値のクッキー」は「他のページ」へのアクセスの際にも送信されている、という状況でしょうか、それとも違う手順を踏んでいますでしょうか。 推測されにくいファイル名のページでのみクッキーを設定します。 他のページではクッキーの存在と値の照合のためデータをやり取りします。 通信はSSLのため暗号化されております。 >ユーザ認証はないということですか?つまりそのページにアクセスすればidpwなしで管理者しか見れない画面が開けるということでよいですか? 【クッキー設置ページにアクセス⇒ID,PWによるログイン】の二重になります。 クッキーが設定されていない場合、ログイン画面も表示されません。
guest

回答2

0

ベストアンサー

推測されにくい値のクッキーを設定する

これは、session 管理のためによく利用される手法ですね。
「推測されにくいファイル名のページ」とセットである必要は特にありません。

サーバに投げられたクッキーの値と、その他のサーバ上にある情報から、権限を付与してアクセスに対しての制限をかけます。仕組みとしては token を使用した認証が近いです。

推測されにくい値を作ることが比較的難しいので、フレームワークや言語が用意している session 機能を使用するケースが多いです。

ベーシック認証と比べてどちらが強力でしょうか。

微妙な表現となりますが、https を利用した通信で、ブラウザが適切な処理を行うのであれば、個人的にはそれほど違いを感じません。
微妙になるのは、管理しているレイヤーが違うので、本質的にはできることに差異があり、比較の対象として適切では無いためです。

投稿2019/06/19 10:13

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakurai_rina

2019/06/19 10:45

詳細記載いただきありがとうございます。 当方の理解が正しければ、記載の「クッキーを使う形」は、全くの無意味という事では無いという認識でお間違い無いでしょうか?
退会済みユーザー

退会済みユーザー

2019/06/19 10:49

session 管理のために使用するのであれば、「推測されにくい値のクッキーを設定する 」ことはごく一般的な手法です。
sakurai_rina

2019/06/19 10:55

ありがとうございます。 【クッキー設定ページにアクセス⇒ID,PWによるログイン】という手順を取らせる(クッキー無しではログイン画面も含めて表示されない)事でセキュリティを高めるのが目的でした。 上記目的のため、クッキー設定ページも推測されにくいファイル名にとしておりました。
退会済みユーザー

退会済みユーザー

2019/06/19 11:28

踏み台ページを踏んだユーザにだけ Login ページを表示させる仕様と理解しましたが、あまり一般的な仕様ではないので、セキュアに設計/コーディングできるか微妙な気がします。 ご自身でコーディングされるのではないと思いますが、キチンとセキュリティ要件の整理をし、セキュリティ設計のできる方に相談されたほうが良いと思いますよ。
guest

0

クッキーが重要なのはセッション用のIDを保持するからです
推測されにくい値かどうかはセッションを管理するサーバー側の仕様によります。

ベーシック認証については簡易的なユーザー管理でしかないので
セキュリティについては期待できません、切り分けて考えたほうがよいかもしれません。

投稿2019/06/19 09:07

yambejp

総合スコア117644

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakurai_rina

2019/06/19 10:48

値が推測されにくいサーバー仕様であれば、効果があるという事でしょうか。 ベーシック認証はあまりセキュリティ上の期待はできないのですね。 勉強になりました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問