Nazewnictwo plików cookie - sprawdzone metody [zamknięte]


107

Jak powinny wyglądać nazwy plików cookie?

Czy powinny być:

  • małe litery
  • CamelCase
  • Underscore_Camel_Case
  • DUŻE LITERY

A może powinny być czymś innym?


1
Dobre pytanie! Głosowałbym za tym, gdybym miał głosy.
— Pekka

1
@Pekka: Głosowałem za tobą. Ja też bym to zagłosował, ale mogę zagłosować tylko raz :(
— Charlie Brown,

2
@Bran, zagłosowałem za tobą, ponieważ i tak otrzymuję nowe głosy za kilka minut. Och, ale ja też na to miałam głosować ... do cholery.
— Tor Valamo

1
Dzięki Jacob! To daje nam krok do przodu. Nie zamierzałeś przypadkowo głosować za tym pytaniem, prawda? Bo jeśli tak, potrzebujemy kolejnego wolontariusza!
— Pekka

1
Na wszelki wypadek nie zrobiłbym tego. Oto moje +1 dla was. :)
— Hilton Perantunes

Odpowiedzi:


66

appname_meaningfulname


10
@Emanuil: aby odróżnić go od wszystkich innych plików cookie generowanych przez inne aplikacje w tej samej domenie.
— Ignacio Vazquez-Abrams

2
@Emanuil Rusev, dodatki przeglądarki czasami ustawiają pliki cookie. Dowiedziałem się tego na własnej skórze, kiedy moja witryna pobierała plik cookie i pobierała dane ustawione przez dodatek użytkownika zamiast danych ustawionych przez moją witrynę.
— lala

8

Pamiętaj, że ten plik cookie jest wysyłany z każdym żądaniem, więc imho, po prostu użyj możliwie najmniejszej nazwy i ładnie udokumentuj swój kod.


4

Powinno to być coś, co pozwala uniknąć konfliktów nazw z dowolnymi parametrami _GET i _POST, których możesz używać, ponieważ _REQUEST zawija wszystkie trzy tablice globalne (!), Z pierwszeństwem zależnym od tego, jak ustawione jest ustawienie variable_order w php.ini. Innymi słowy, jeśli masz _COOKIE o nazwie "x" i parametr zapytania o nazwie "x" i poprosisz o $ _REQUEST ["x"], otrzymasz wartość cookie, gdy możesz chcieć / oczekiwać parametru GET. Jest to szczególnie problematyczne, jeśli pliki cookie są ograniczone do katalogu głównego witryny „/”, a nie do folderu, w którym są używane.

Więc mówię, dwie najlepsze praktyki:

  1. upewnij się, że ograniczasz zakres plików cookie do ścieżki, w której są odczytywane i zapisywane (robi to trzeci argument metody setcookie ())
  2. nadaj swoim plikom cookie jakąś konwencję nazewnictwa specyficzną dla plików cookie. Proponuję odwrócić stronę internetową, taką jak przestrzenie nazw java, a następnie „.”. {Nazwa aplikacji}. „.”. {Przyjazna nazwa pliku cookie camel cased} Jeśli więc Twoja witryna to www.testsite.com, a Twoja aplikacja to foo, a zmienna to „bar bar bar bar barann”, byłoby to „com.testsite.foo.barBarBarBarBarBarann”

3
Czy widziałeś niektóre z tych praktyk w działającej witrynie internetowej?
— Emanuil Rusev

0

Używam dowolnego stylu wymaganego przez standardy kodowania dla projektu.

Generalnie wolę camelCase do nazewnictwa schematów, ale ten, z którym płaci rachunki, jest tym, z którym pójdę.


0

Może nie spodoba ci się moja odpowiedź:

Nie używaj własnych plików cookie, ale przechowuj dane w sesjach serwera. Potrzebujesz więc tylko jednego pliku cookie (aby odwołać się do identyfikatora sesji) i nazwy, która nie odgrywa żadnej roli.


9
Staje się to kłopotliwe w przypadku modułów równoważenia obciążenia, ponieważ wtedy sesja powinna być przechowywana w bazie danych, która nie znajduje się na tym samym hoście (lub nawet w tym samym centrum danych). Czasami ciasteczka są w porządku.
— dotancohen

1
@dotancohen czy możesz podać linki dotyczące opisywanego problemu? Dziękuję Ci!
— Sharky,

1
„Nie używaj plików cookie” brzmi nieco purytańsko; ale podoba mi się ta próba utrzymania porządku dla użytkownika.
— Parapluie

Securecookies można bezpiecznie używać bez przechowywania sesji po stronie serwera. Nie muszą być ogromne (w rzeczywistości istnieje limit 4k, który jest dość skromny) i pozwala uniknąć równoważenia obciążenia i / lub scentralizowanego wyszukiwania bazy danych.
— colm.anseo
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.