Biến siêu toàn cục $_SERVER trong PHP

Biến siêu toàn cục $_SERVER trong PHP
Biến siêu toàn cục $_SERVER trong PHP

Chức năng của Biến siêu toàn cục $_SERVER trong PHP

Biến siêu toàn cục $_SERVER trong PHP thực chất là một mảng chứa các thông tin về đường dẫn, IP,....

Code Biến siêu toàn cục $_SERVER trong PHP

<?php
// Lấy tên miền
echo $_SERVER['HTTP_HOST']."<br>";// Kết quả: webmoi.vn
// Lấy phần phía sau tên miền
echo $_SERVER['REQUEST_URI']."<br>";// Kết quả: /bien-sieu-toan-cuc-server-trong-php/
// Lấy IP mạng bên máy khách
echo $_SERVER['REMOTE_ADDR']."<br>";// Kết quả: 171.243.49.142
// Lấy tên máy chủ
echo $_SERVER['SERVER_NAME']."<br>"; // webmoi.vn
// Kiểm tra https có tồn tại không
echo $_SERVER['HTTPS']."<br>"; //Kết quả: on
// Lấy User-Agent của trình duyệt
echo $_SERVER['HTTP_USER_AGENT']."<br>"; //Kết quả: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
// Lấy phương thức HTTP
echo $_SERVER['REQUEST_METHOD']."<br>"; //Kết quả: GET
//Lấy tên tệp tập lệnh:
echo $_SERVER['PHP_SELF']."<br>"; //Kết quả: /bien-sieu-toan-cuc-server-trong-php/
echo $_SERVER['SCRIPT_NAME']."<br>"; //Kết quả: /bien-sieu-toan-cuc-server-trong-php/
?>

Kết quả:

webmoi.vn
/bien-sieu-toan-cuc-server-trong-php/
171.243.49.142
webmoi.vn
on
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
GET
/bien-sieu-toan-cuc-server-trong-php/
/bien-sieu-toan-cuc-server-trong-php/

Ứng dụng $_SERVER trong xử lý website PHP

Trong một website PHP, $_SERVER không chỉ dùng để xem thông tin máy chủ. Các giá trị bên trong biến siêu toàn cục này còn giúp chương trình nhận biết cách một yêu cầu được gửi đến, địa chỉ đang được truy cập và một số thông tin liên quan đến môi trường xử lý.

Xác định thông tin máy chủ và môi trường chạy PHP

$_SERVER có thể cung cấp những dữ liệu như tên máy chủ, cổng kết nối, giao thức đang sử dụng hoặc phần mềm máy chủ web. Những thông tin này hữu ích khi cần kiểm tra môi trường thực thi hoặc xây dựng chức năng hoạt động khác nhau giữa các máy chủ.

Chẳng hạn, có thể kiểm tra tên máy chủ bằng $_SERVER['SERVER_NAME'] để xác định website đang được xử lý trên domain nào. Tuy nhiên, khi sử dụng dữ liệu này cho các chức năng quan trọng, nên kiểm tra và giới hạn giá trị đầu vào thay vì mặc định tin tưởng mọi thông tin từ request.

Lấy thông tin URL và yêu cầu hiện tại

Các biến như $_SERVER['REQUEST_URI']$_SERVER['QUERY_STRING'] giúp PHP biết đường dẫn cùng phần tham số được gửi trong yêu cầu hiện tại. Đây là cơ sở để xây dựng router đơn giản, xác định trang đang mở hoặc ghi nhận URL phục vụ việc theo dõi hoạt động.

<?php
echo $_SERVER['REQUEST_URI'];
?>

Ví dụ trên có thể trả về đường dẫn như /san-pham?id=15. Nếu chỉ cần phần đường dẫn mà không muốn lấy tham số phía sau, dữ liệu nên được xử lý riêng thay vì sử dụng nguyên chuỗi cho mọi mục đích.

Kiểm tra phương thức HTTP của request

$_SERVER['REQUEST_METHOD'] cho biết yêu cầu hiện tại sử dụng phương thức HTTP nào, chẳng hạn GET hoặc POST. Việc kiểm tra giá trị này giúp PHP phân biệt cách người dùng truy cập một URL và cách máy chủ cần xử lý dữ liệu gửi lên.

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    echo 'Dữ liệu được gửi bằng POST';
}
?>

Cách kiểm tra này thường được dùng trong form xử lý dữ liệu, API hoặc các chức năng cần phân biệt giữa việc hiển thịgửi dữ liệu. Nên so sánh chính xác giá trị thay vì chỉ kiểm tra biến có tồn tại.

Xử lý dữ liệu từ trình duyệt thông qua $_SERVER

Một số giá trị trong $_SERVER phản ánh thông tin do trình duyệt hoặc máy khách gửi đến, chẳng hạn HTTP_USER_AGENTHTTP_REFERER. Chúng có thể được dùng để thống kê, phân tích request hoặc hỗ trợ một số logic của website.

Tuy nhiên, các giá trị này không nên được xem là dữ liệu đáng tin tuyệt đối. Máy khách có thể thay đổi chúng trước khi gửi request. Khi đưa dữ liệu vào HTML, câu lệnh SQL, log hoặc các chức năng khác, cần xử lý phù hợp với ngữ cảnh để tránh tạo ra lỗ hổng bảo mật.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Biến siêu toàn cục $_SERVER trong PHP.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Biến siêu toàn cục $_SERVER trong PHP
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !