Cách sử dụng HTTP Referer

Những điều bạn có thể làm với quy trình giới thiệu

Thông tin bạn thấy được viết trên trang web chỉ là một phần dữ liệu mà các trang web đó truyền khi chúng di chuyển từ máy chủ web đến trình duyệt của một người và ngược lại. Ngoài ra còn có một lượng dữ liệu truyền tải hợp lý xảy ra sau hậu trường - và nếu bạn biết cách truy cập dữ liệu đó, bạn có thể sử dụng nó theo những cách thú vị và hữu ích! Trong bài viết này, chúng tôi sẽ xem xét một phần dữ liệu cụ thể được truyền tải trong quá trình này - trình giới thiệu HTTP.

Người giới thiệu HTTP là gì?

Trình giới thiệu HTTP là dữ liệu được các trình duyệt web chuyển đến máy chủ để cho bạn biết người đọc đã đọc trang nào trước khi họ truy cập trang này. Thông tin này có thể được sử dụng trên trang web của bạn để cung cấp thêm trợ giúp, tạo ưu đãi đặc biệt cho người dùng được nhắm mục tiêu, chuyển hướng khách hàng đến các trang và nội dung có liên quan hoặc thậm chí chặn khách truy cập đến trang web của bạn. Bạn cũng có thể sử dụng các ngôn ngữ kịch bản như JavaScript, PHP hoặc ASP để đọc và đánh giá thông tin liên kết giới thiệu.

Thu thập thông tin người giới thiệu với PHP, JavaScript và ASP

Vậy làm cách nào để bạn thu thập dữ liệu tham chiếu HTTP này? Dưới đây là một số phương pháp bạn có thể sử dụng:

PHP lưu trữ thông tin tham chiếu trong một biến hệ thống được gọi là HTTP_REFERER. Để hiển thị referer trên trang PHP bạn có thể viết:

if (isset ($ _ SERVER ['HTTP_REFERER'])) {
echo $ _SERVER ['HTTP_REFERER'];
}

Điều này kiểm tra rằng biến có giá trị và sau đó in nó vào màn hình. Thay vì echo $ _SERVER ['HTTP_REFERER']; bạn sẽ đặt các dòng kịch bản tại chỗ để kiểm tra các tham chiếu khác nhau.

JavaScript sử dụng DOM để đọc người giới thiệu. Cũng giống như với PHP, bạn nên kiểm tra để đảm bảo rằng referer có một giá trị. Tuy nhiên, nếu bạn muốn thao tác giá trị đó, trước tiên bạn nên đặt giá trị đó thành biến. Dưới đây là cách bạn sẽ hiển thị người giới thiệu đến trang của bạn bằng JavaScript. Lưu ý rằng DOM sử dụng chính tả thay thế của liên kết giới thiệu, thêm một "r" bổ sung trong đó:

if (document.referrer) {
var myReferer = document.referrer;
document.write (myReferer);
}

Sau đó, bạn có thể sử dụng tham chiếu trong các tập lệnh với biến myReferer .

ASP, giống như PHP, đặt tham chiếu trong biến hệ thống. Sau đó, bạn có thể thu thập thông tin như thế này:

if (Request.ServerVariables ("HTTP_REFERER")) {
Dim myReferer = Request.ServerVariables ("HTTP_REFERER")
Response.Write (myReferer)
}

Bạn có thể sử dụng biến myReferer để điều chỉnh tập lệnh của bạn nếu cần.

Khi bạn có người giới thiệu, bạn có thể làm gì với nó?

Vì vậy, nhận được dữ liệu là bước 1. Làm thế nào bạn đi về điều đó sẽ phụ thuộc vào trang web cụ thể của bạn. Bước tiếp theo, tất nhiên, là tìm cách sử dụng thông tin này.

Khi bạn có dữ liệu tham chiếu, bạn có thể sử dụng nó để viết trang web của mình theo một số cách. Một điều đơn giản mà bạn có thể làm là chỉ đăng bài mà bạn cho rằng khách truy cập đến từ đó. Phải thừa nhận rằng, đó là khá nhàm chán, nhưng nếu bạn cần phải chạy một số xét nghiệm, đó có thể là một điểm nhập cảnh tốt để làm việc với.

Một ví dụ thú vị hơn là khi bạn sử dụng người giới thiệu để hiển thị thông tin khác nhau tùy thuộc vào nơi họ đến. Ví dụ, bạn có thể làm như sau:

Chặn Người dùng bằng .htaccess theo Người giới thiệu

Từ quan điểm bảo mật, nếu bạn đang gặp phải nhiều spam giới thiệu trên trang web của mình từ một miền cụ thể, nó có thể giúp đơn giản chặn miền đó khỏi trang web của bạn. Nếu bạn đang sử dụng Apache với mod_rewrite được cài đặt, bạn có thể chặn chúng bằng một vài dòng. Thêm phần sau vào tệp .htaccess của bạn:

RewriteEngine bật
# Tùy chọn + FollowSymlinks
RewriteCond% {HTTP_REFERER} spammer \ .com [NC]
RewriteRule. * - [F]

Hãy nhớ thay đổi từ spammer \ .com thành miền bạn muốn chặn. Hãy nhớ đặt \ ở trước bất kỳ khoảng thời gian nào trong miền.

Không dựa vào người giới thiệu

Hãy nhớ rằng có thể giả mạo người giới thiệu, vì vậy bạn không nên sử dụng tham chiếu một mình để bảo mật. Bạn có thể sử dụng nó như là một add-on cho bảo mật khác của bạn, nhưng nếu một trang chỉ nên được truy cập bởi những người cụ thể, thì bạn nên thiết lập một mật khẩu trên nó với htaccess .