簡體   English   中英

驗證點擊是否來自特定網站

[英]Verifying that the click came from the specific website

我正在構建一個自定義身份驗證過程,其中通過單擊網站 B 上的鏈接(包含唯一哈希)來的每個用戶都會自動登錄到網站 A。登錄過程不是問題。

問題是關於安全性:如何確保用戶來自特定網站而不是來自其他任何網站? 我可以驗證變量$_SERVER['HTTP_REFERER']但它很容易被欺騙。 有沒有辦法獲得引薦來源 IP(不是$_SERVER數組中的客戶端機器 IP)或任何其他方式來保護這個過程?

建議一

當在第一個網站上單擊鏈接時,將時間和用戶 ip 存儲在數據庫中。

然后在第二個網站上發出用戶請求時,它可能需要時間和用戶 ip 並詢問第一個網站是否最近點擊了該鏈接 ip。

建議二

客戶站點上的鏈接可以鏈接到他們站點上的一個頁面,該頁面使用 PHP 的file_get_contents()來顯示鏈接的頁面。 因為請求鏈接頁面的是 PHP,所以用戶無法欺騙 document.referrer。 我不知道這將如何影響 cookies、外部參考等。

它肯定會破壞相對鏈接。

將鏈接從

`<a href="https://your-website.com/page/to/link/to">Click Here</a>`

`<a href="https://client-website.com/special-page?linked-page-url=https://your-website.com/page/to/link/to">Click Here</a>`

客戶網站上的特殊頁面:

<?php
$linkedPageUrl = $_GET['linked-page-url'];
var_dump(file_get_contents($linkedPageUrl));
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM