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

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

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

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

Q&A

解決済

3回答

210閲覧

クッキーについての質問です。

King_of_Flies

総合スコア382

Cookie

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

0グッド

0クリップ

投稿2017/10/03 05:39

編集2017/10/03 05:43

こんにちわ。
Takkoです。

下記サイトより引用した一文に疑問がありますので、
質問させていただきます。

https://qiita.com/hththt/items/07136ad74127999df271

session.use_cookies

この値が0の場合、cookieが利用できない設定になっているためセッションが利用できない。
そのため、これを「1」にしてWebサーバーを起動するとよい。

session.use_cookies = 1
session.use_only_cookies = 1

これはユーザが設定したクッキー無効の設定を、
プログラムから強制的にクッキー有効にしているということでしょうか?

もしそうだとするのであれば、
これは許容されてもよい実装なのですか?

以上です。

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

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

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

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

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

m.ts10806

2017/10/03 05:42

記事ではPHPのようですが、タグは様々な言語があるようです。「cookie」タグがありますのでそちらの方が正しい指定のように思います。 https://teratail.com/tags/cookie
King_of_Flies

2017/10/03 05:43

cookieタグに修正しました。ご指摘ありがとうございます。
guest

回答3

0

php公式リファレンス:実行時設定 にも掲載されていますが

use_cookiesが真の場合、セッションIDにクッキーを利用します。
use_only_cookiesが真の場合、セッションIDにはクッキーだけ利用し、URLにセッションIDを指定することができなくなります。

なお、クライアント側でクッキーを無効にしていた場合に、use_only_cookiesが真ならば、セッションIDを授受できなくなるので、当然セッションは確立できません。

投稿2017/10/03 06:00

A-pZ

総合スコア12011

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

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

King_of_Flies

2017/10/03 06:04

勘違いをしていました。 iniファイルにクライアントが書き込む内容を、 サーバーで実行できるプログラムと勘違いしておりました。
guest

0

ドキュメントへのリンク置いときますね。
session.use_cookies

投稿2017/10/03 05:58

abs123

総合スコア1280

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

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

abs123

2017/10/03 08:22

まて、他の人に+がつくのはわかるが、 私の回答に+がついている理由がわからない。 他の人が回答でドキュメントを張らなかった時の 補足的な意味合いでの回答だったから、 URL張るだけはやめましょうっていうやつ無視して書いたのに。
guest

0

ベストアンサー

これはユーザが設定したクッキー無効の設定を、

プログラムから強制的にクッキー有効にしているということでしょうか?

いいえ。
そもそもCookieの送出はクライアントの実装依存なので、サーバ側の設定(php.ini)で
クライアントに対してcookieを送信を強制することなんて不可能です。

パラメータの意味は、まとめサイトでなく正規のマニュアルを見るといいですよ。

session.use_only_cookies は、 このモジュールがクライアント側へのセッション ID の保存に Cookie のみ を使用することを指定します。 この設定を有効にすることにより、セッション ID を URL に埋め込む攻撃を防ぐことができます。この設定は、 PHP 4.3.0 で追加されました。 PHP 5.3.0 以降で、デフォルトは 1 (有効) となります。

昔のガラケーとかは、cookieがつかえなかったのでURLにパラメータを追加することで同一セッションとして
動作させるようにしてきましたが、逆に言うとURLにcookieが露出するため書き換えされたりと脆弱性になりますので、現在は推奨されていません(つまり、session.use_only_cookies=1がデフォルト)。

脆弱性については、徳丸さんのサイトに詳しくのっていましたので勉強になると思います。
セッションIDを送り込む方法(1) URL埋め込みのセッションID

投稿2017/10/03 05:46

編集2017/10/03 07:16
momon-ga

総合スコア4820

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

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

King_of_Flies

2017/10/03 05:49

だとすると上記のコードで実装したコードはどのような状況下で役に立つのでしょうか。
King_of_Flies

2017/10/03 06:04

理解しました。 このコードはiniの設定でクライアントが記述する内容であって、 サーバー側で書いても意味がないんですね。
momon-ga

2017/10/03 06:17

元のサイトにもありますが・・・php.iniはサーバ側の設定です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問