2010-10-28 43 views
8

Cách bạn có thể nhận được Liên kết giới thiệu HTTP khi được chuyển hướng từ một trang web khác, chứ không phải khi họ nhấp vào liên kết vì nó sẽ hoạt động cho $_SERVER['HTTP_REFERER'], nhưng nó không hoạt động khi người dùng đã được chuyển hướng trang web và liên kết giới thiệu sẽ trống.Nhận giới thiệu HTTP khi chuyển hướng

Phương pháp để nhận được liên kết giới thiệu là gì?

Trả lời

9

Làm thế nào bạn có thể nhận được giới thiệu HTTP khi chuyển hướng từ một trang web khác

Bạn không thể. Nếu việc chuyển hướng diễn ra dưới sự kiểm soát của bạn, bạn có thể thêm người giới thiệu ban đầu làm tham số, nhưng nếu người chuyển hướng bên ngoài không làm điều đó, bạn không có cách nào để giữ thông tin.

+0

Đã xảy ra lỗi. Vì vậy, hoàn toàn không có cách nào để biết người dùng đến từ đâu khi người dùng được chuyển hướng? – MacMac

+0

@YouBook không xa như tôi biết, không. –

4

Ví dụ về cách tôi đã thực hiện. Giả sử chúng ta có 3 trang, một trang gọi là tiếp theo.

page1.com -> page2.com -> page3.com. 

trong page2.com được page1.com sử dụng:

$referrer = $_SERVER['HTTP_REFERER'];//=page1.com 

khi chuyển hướng đến page3, gửi $ giới thiệu như một tham số GET

page3.com?referrer=$referrer 

trong page3 đọc $ giới thiệu từ nhận được.

$initialReferrer = $_GET['referrer'];//=page1.com 
+0

Người ta có thể gọi trực tiếp một 'page3.com? Referrer = page4.com' vì vậy hãy quan tâm đến các vấn đề về bảo mật/trợ cấp. Ngoài ra, '$ _SERVER ['HTTP_REFERER'] phải là' rawurlencode'-d trước khi được nối vào URL. – Xenos

Các vấn đề liên quan