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?

Emanuil Rusev
źródło
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

Ignacio Vazquez-Abrams
źródło
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.

MatthieuP
źródło
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”
WillieMack
źródło
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ę.

zombat
źródło
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.

NineBerry
źródło
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