在PHP中如何在标记中使用数据安全重定向URL?

在PHP中如何在标记中使用数据安全重定向URL?,php,hyperlink,gmail,Php,Hyperlink,Gmail,我希望任何其他服务器请求都像Gmail中的链接一样通过我的服务器,我在那里检查了它数据安全重定向url=“” 那么,如何在我们的网站中自动使用PHP中的数据安全重定向URL 例如: <a href="xxxxx" target="_blank" data-saferedirecturl="https://www.mywebsite.com/url?hl=en&amp;q=xxxx">Link</a> Gmail中的所有链接都在浏览器中解释 数据安全重定向URL标

我希望任何其他服务器请求都像Gmail中的链接一样通过我的服务器,我在那里检查了它
数据安全重定向url=“”

那么,如何在我们的网站中自动使用PHP中的
数据安全重定向URL

例如:

<a href="xxxxx" target="_blank" data-saferedirecturl="https://www.mywebsite.com/url?hl=en&amp;q=xxxx">Link</a>

Gmail中的所有链接都在浏览器中解释

数据安全重定向URL
标记将自动添加

因此,
href
显示您将在浏览器底部单击的链接,但会将您发送到类似于
https://www.google.com/url?hl=en-GB&site.com/324dd3


这样,第三方就无法访问敏感数据。

有不同的方法来实现这一点

您可以使用安全URL作为
GET
参数将所有重定向指向同一页面(请记住使用):

如果你想使用
datasaferedirecturl
,你必须使用一些JavaScript,并以某种方式与你的服务器进行交互(比如ajax调用)

示例(使用jQuery):

HTML:

<a href="/handler.php?safeurl=www.google.it%2Ftest"  target="_blank">Link</a>
$desturl = isset($_GET["safeurl"]) ? $_GET["safeurl"] : false;
if($desturl != false){
    //do something
    header("location: ".$desturl);
}
<a href="xxxxx" class="test" target="_blank" data-saferedirecturl="https://www.mywebsite.com/url?hl=en&amp;q=xxxx">Link</a>
$(".test").click(function(e){
  e.preventDefault();
  let url = $(this).data("saferedirecturl");
  // do ajax or check somehow the URL
  location.href = url;
})