Ім'я файлів cookie - найкращі практики [закрито]


107

Як мають виглядати назви файлів cookie?

Чи повинні вони бути:

  • нижній_запис
  • CamelCase
  • Підкреслення_Camel_Case
  • UPPER_CASE

Або вони повинні бути чимось іншим?


1
Гарне питання! Я б схвалив це, якби у мене залишилось голосів.
Пекка

1
@Pekka: Я виступав за тебе. Я б також схвалив цю пропозицію, але я можу подати лише один раз :(
Чарлі Браун

2
@Bran, я висловився за вас, оскільки я за кілька хвилин отримав нові голоси. О, але я теж хотів би проголосувати за це ...
Tor Valamo

1
Дякую Якобу! Це приносить нам крок вперед. Ви не планували жодним випадком підтримувати це питання, чи не так? Бо якщо ви це зробили, нам знадобиться ще один волонтер!
Pekka

1
Про всяк випадок я не став би. Отже, ось мій +1 для вас, хлопці. :)
Хілтон Перантунес

Відповіді:


66

appname_meaningfulname


10
@Emanuil: щоб відрізнити його від усіх інших файлів cookie, створених іншими програмами в тому ж домені.
Ігнасіо Васкес-Абрамс

2
@Emanuil Rusev, надбудови браузера іноді встановлюють файли cookie. Я щойно навчився цього важким способом, коли мій веб-сайт зібрав файл cookie та отримав набір даних за допомогою доповнення користувача замість даних, встановлених на моєму сайті.
lala

8

Майте на увазі, що цей файл cookie надсилається з кожним запитом, тому імхо, просто використовуйте найменше ім’я, яке ви можете, і добре задокументуйте свій код.


4

Це повинно уникати назви конфліктів з довільними параметрами _GET та _POST, якими ви можете скористатися, оскільки _REQUEST обертає всі три глобальні масиви (!) З перевагою в залежності від того, як у php.ini встановлено ваш параметр змінних_порядків. Іншими словами, якщо у вас є _COOKIE з назвою "x" і параметр запиту рядків з назвою "x", і ви запитуєте $ _REQUEST ["x"], ви отримуєте значення файлу cookie, коли ви можете хотіти / очікувати GET-параметр. Це особливо проблематично, якщо ваші файли cookie потрапляють до кореня вашого веб-сайту "/", а не до папки, де вони використовуються.

Тому я кажу, дві найкращі практики:

  1. переконайтеся, що ви обмежили сферу ваших файлів cookie до шляху, коли вони читаються та записуються (третій аргумент методу setcookie () робить це)
  2. надайте файлам cookie якусь певну конвенцію щодо іменування файлів cookie. Я пропоную зворотний веб-сайт, наприклад, простори імен Java, тоді ".". {Appname}. ".". {Дружнє ім'я куки верблюда cased} Отже, якщо ваш сайт www.testsite.com, і ваш додаток foo, і ваша змінна це "бар бар бар бар баран", це було б "com.testsite.foo.barBarBarBarBarBarann"

3
Ви бачили деякі з цих практик на веб-сайті?
Емануїл Русєв

0

Я використовую будь-який стиль, для якого вимагають стандарти кодування для проекту.

Як правило, я віддаю перевагу camelCase для іменних схем, але той, хто платить рахунки, той, з ким я піду.


0

Можливо, вам не сподобається моя відповідь:

Не використовуйте власні файли cookie, а зберігайте дані в сеансах сервера. Отже, вам потрібен лише один файл cookie (для позначення ідентифікатора сеансу) та те, як ви називаєте, що не грає ніякої ролі.


9
Це стає безладним з балансирами навантажень, оскільки тоді сеанс повинен зберігатися в базі даних, яка не знаходиться на одному хості (або, можливо, навіть в одному центрі обробки даних). Іноді печиво просто чудово.
dotancohen

1
@dotancohen Ви можете надати деякі посилання стосовно описуваної проблеми? спасибі!
Шаркі

1
"Не використовувати файли cookie" звучить трохи пуританічно; але мені подобається ця спроба зберегти речі в чистоті для користувача.
Parapluie

securecookies можна безпечно використовувати без зберігання сеансів на стороні сервера. Вони не повинні бути величезними (насправді є обмеження в 4 к, що є досить скромним) і дозволяє уникнути балансування навантажень та / або централізованого пошуку БД.
colm.anseo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.