Cookieの命名-ベストプラクティス[終了]


107

クッキー名はどのように見えるべきですか?

それらは:

  • 小文字
  • キャメルケース
  • Underscore_Camel_Case
  • UPPER_CASE

それとも別のものにするべきですか?


1
良い質問!投票票が残っている場合は賛成票を投じます。
Pekka

1
@ペッカ:私はあなたのために賛成した。私も賛成票を投じますが、賛成票は1回だけです:(
Charlie Brown

2
@Bran、とにかく数分で新しい投票を獲得するので、私はあなたのために賛成票を投じました。ああ、でも私もこれに投票するつもりでした...
Tor Valamo 2010年

1
ジェイコブ、ありがとう!これにより、一歩前進します。たまたまこの質問に賛成するつもりはなかったのですか。もしそうなら、もう一人のボランティアが必要になるからです!
Pekka

1
念のため、しません。だから、ここにあなたのための私の+1があります。:)
ヒルトンペランチューンズ2010年

回答:


66

appname_meaningfulname


10
@Emanuil:同じドメインの他のアプリによって生成される他のすべてのCookieと区別するため。
Ignacio Vazquez-Abrams

2
@Emanuil Rusev、ブラウザのアドオンがCookieを設定することがあります。私のWebサイトがCookieを取得し、サイトのデータセットではなく、ユーザーのアドオンによってデータセットを取得したとき、私はこれを簡単に学びました。
ララ

8

このCookieはすべてのリクエストで送信されることに注意してください。そうすれば、できるだけ小さい名前を使用し、コードを適切に文書化してください。


4

_REQUESTは3つのグローバル配列(!)をすべてラップするため、php.iniでのvariables_order設定の設定に応じて優先順位が決まるため、使用している任意の_GETおよび_POSTパラメータとの名前の競合を回避する必要があります。言い換えると、「x」という名前の_COOKIEと「x」という名前のクエリ文字列パラメーターがあり、$ _ REQUEST ["x"]を要求した場合、GETパラメーターが必要または期待されるときにCookie値を取得します。これは、CookieのスコープがWebサイトのルート "/"であり、Cookieが使用されるフォルダーではない場合、特に問題になります。

つまり、2つのベストプラクティス:

  1. Cookieの範囲を、それらが読み書きされるパスに制限していることを確認してください(setcookie()メソッドの3番目の引数がこれを行います)
  2. Cookieに、ある種のCookie固有の命名規則を与えます。私は、Java名前空間のような逆のWebサイトを提案し、次に "。"。{appname}。 "。"。{Friendly cookie name camel cased}したがって、サイトがwww.testsite.comであり、アプリがfooであり、変数が「bar bar bar bar bar barann」の場合、「com.testsite.foo.barBarBarBarBarBarann」になります。

3
これらのプラクティスのいくつかをライブのWebサイトで見ましたか?
Emanuil Rusev

0

私はプロジェクトのコーディング標準が要求するスタイルを使用します。

一般的には、名前付け方式としてcamelCaseを使用しますが、請求書を支払う方はどちらでもかまいません。


0

多分あなたは私の答えが気に入らないでしょう:

独自のCookieを使用せずに、サーバーセッションにデータを保存します。したがって、(セッションIDを参照するために)必要なCookieは1つだけであり、どのように名前を付けても役割はありません。


9
その場合、セッションは同じホスト(または場合によっては同じデータセンター)にないデータベースに保存する必要があるため、ロードバランサーを使用すると面倒になります。Cookieで十分な場合もあります。
dotancohen 2013年

1
@dotancohenは、あなたが説明する問題に関するいくつかのリンクを提供できますか?ありがとうございました!
2014

1
「Cookieを使用しない」は少し純粋に聞こえます。しかし、私はユーザーのために物事をきれいに保つこの試みが好きです。
Parapluie

securecookiesは、サーバー側のセッションストレージがなくても安全に使用できます。それらは巨大である必要はなく(実際にはかなり控えめな4kの制限があります)、ロードバランサーや集中DBルックアップを回避します。
colm.anseo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.