Với khách truy cập, thông thường, khách hàng không được giả mạo. Nhưng tôi nghi ngờ bạn sẽ muốn thực thi một SERVER_NAME nhất định cho các tập lệnh cấp phép để chúng chỉ có thể được sử dụng bởi các miền cụ thể. Trong trường hợp này câu trả lời là có, biến này chắc chắn có thể được giả mạo.
Lý do rất đơn giản, máy chủ đặt giá trị này. Trong hầu hết các trường hợp, bạn sẽ có PHP chạy như một mô-đun Apache, nhưng đôi khi bạn có các mô-đun Apache khác, đôi khi bạn có PHP đang chạy trong chế độ CGI với NGINX hoặc IIS, đôi khi bạn thậm chí có PHP đang chạy như CLI được chia thành một tiến trình con bằng một tùy chỉnh -built máy chủ được triển khai trong một đám mây. Những máy chủ đó sẽ chịu trách nhiệm thiết lập biến đó.
Ngoài ra, luôn có nhiệm vụ thủ công.
$_SERVER['SERVER_NAME'] = ... // this can go above all your scripts
Nguồn
2012-07-09 01:55:50
Không có vấn đề gì nó sẽ luôn luôn giống nhau .. máy chủ của bạn. Không phải máy chủ mà yêu cầu đến từ đó. – sachleen