Đặt tên cookie - các phương pháp hay nhất [đã đóng]


107

Tên cookie nên trông như thế nào?

Họ có nên:

  • viết thường
  • CamelCase
  • Underscore_Camel_Case
  • UPPER_CASE

Hay chúng phải là một cái gì đó khác?


1
Câu hỏi hay! Sẽ ủng hộ nó nếu tôi còn phiếu bầu.
Pekka

1
@Pekka: Tôi đã ủng hộ bạn. Tôi sẽ upvote nó quá, nhưng chỉ có thể upvote một lần :(
Charlie Brown

2
@Bran, tôi đã ủng hộ bạn vì tôi sẽ nhận được phiếu bầu mới sau vài phút nữa. Ồ nhưng tôi cũng sẽ bỏ phiếu cho điều này ... trời ơi.
Tor Valamo

1
Cảm ơn Jacob! Điều đó mang lại cho chúng tôi một bước tiến. Bạn không có ý định ủng hộ câu hỏi này một cách tình cờ, phải không? Bởi vì nếu bạn đã làm vậy, chúng tôi sẽ cần thêm một tình nguyện viên nữa!
Pekka

1
Tôi sẽ không làm vậy. Vì vậy, đây là +1 của tôi cho các bạn. :)
Hilton Perantunes

Câu trả lời:


66

appname_meaningfulname


10
@Emanuil: Để phân biệt nó với tất cả các cookie khác được tạo bởi các ứng dụng khác trên cùng một miền.
Ignacio Vazquez-Abrams

2
@Emanuil Rusev, tiện ích bổ sung của trình duyệt đôi khi thiết lập cookie. Tôi chỉ học được điều này một cách khó khăn khi trang web của tôi chọn một cookie và lấy dữ liệu do tiện ích bổ sung của người dùng thiết lập thay vì dữ liệu do trang web của tôi thiết lập.
lala

8

Hãy nhớ rằng cookie này được gửi theo mọi yêu cầu, vì vậy, bạn chỉ cần sử dụng tên nhỏ nhất có thể và ghi lại mã của bạn một cách độc đáo.


4

Nó phải là thứ tránh xung đột đặt tên với các tham số _GET và _POST tùy ý mà bạn có thể đang sử dụng, vì _REQUEST bao bọc cả ba mảng toàn cục (!), Với mức độ ưu tiên tùy thuộc vào cách thiết lập biến_order của bạn được đặt trong php.ini. Nói cách khác, nếu bạn có _COOKIE có tên "x" và tham số chuỗi truy vấn có tên "x" và bạn yêu cầu $ _REQUEST ["x"], bạn sẽ nhận được giá trị cookie khi bạn có thể muốn / mong đợi tham số GET. Điều này đặc biệt có vấn đề nếu cookie của bạn nằm trong phạm vi gốc trang web của bạn "/" chứ không phải thư mục nơi chúng được sử dụng.

Vì vậy, tôi nói, hai phương pháp hay nhất:

  1. đảm bảo rằng bạn giới hạn phạm vi cookie của mình ở đường dẫn mà chúng được đọc và ghi, (đối số thứ ba của phương thức setcookie () thực hiện điều này)
  2. cung cấp cho cookie của bạn một số loại quy ước đặt tên dành riêng cho cookie. Tôi đề xuất trang web đảo ngược, như không gian tên java, sau đó là ".". {Appname}. ".". {Tên cookie thân thiện camel cased} Vì vậy, nếu trang web của bạn là www.testsite.com và ứng dụng của bạn là foo và biến của bạn là "bar bar bar bar bar barann", nó sẽ là "com.testsite.foo.barBarBarBarBarBarann"

3
Bạn đã thấy một số thực hành này trong một trang web trực tiếp chưa?
Emanuil Rusev

0

Tôi sử dụng bất kỳ phong cách nào mà các tiêu chuẩn mã hóa cho cuộc gọi dự án.

Nói chung, tôi thích camelCase hơn cho các kế hoạch đặt tên, nhưng cái nào thanh toán hóa đơn thì tôi sẽ đi cùng.


0

Có thể bạn sẽ không thích câu trả lời của tôi:

Không sử dụng cookie của riêng bạn nhưng lưu trữ dữ liệu trong các phiên máy chủ. Vì vậy, bạn chỉ cần một cookie (để tham chiếu id phiên) và cách bạn đặt tên mà không đóng vai trò gì.


9
Điều đó trở nên lộn xộn với các bộ cân bằng tải, vì khi đó phiên sẽ được lưu trữ trong cơ sở dữ liệu không nằm trên cùng một máy chủ (hoặc thậm chí có thể là cùng một trung tâm dữ liệu). Đôi khi bánh quy cũng tốt.
dotancohen

1
@dotancohen bạn có thể cung cấp một số liên kết liên quan đến vấn đề bạn mô tả không? cảm ơn bạn!
Sharky,

1
"Không sử dụng cookie" nghe có vẻ hơi xa lạ; nhưng tôi thích nỗ lực này để giữ mọi thứ sạch sẽ cho người dùng.
Parapluie

securecookies có thể được sử dụng một cách an toàn mà không cần lưu trữ phiên phía máy chủ nào. Chúng không cần phải quá lớn (thực sự có giới hạn 4k là khá khiêm tốn) và tránh các trình cân bằng tải và / hoặc tra cứu DB tập trung.
colm.anseo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.