gpt4 book ai didi

PHP 仅允许访问特定的引荐来源网址/页面

转载 作者:可可西里 更新时间:2023-10-31 22:54:20 24 4
gpt4 key购买 nike

所以我的问题很简单,我使用了以下方法允许通过引荐来源网址的域名访问 php 脚本,但我只想允许与完整 url 匹配的引荐来源网址访问。

<?php
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] != 'domain.com')
{
echo "Eexcuting code here";
} else {
echo('Hot Linking Not Permitted');
// display some message / image / video
exit;
}
?>

因此,如果引用网址匹配http://www.domain.com/page.html然后允许访问 else if 阻止它。

最佳答案

这并不安全,因为引荐来源数据很容易被欺骗。但是,如果它仍然满足您的需求,那么您应该已经可以使用您的代码了,因为 $_SERVER['HTTP_REFERER'] 包含完整的引荐来源网址,而不仅仅是域。实际上,您当前的代码需要一些调整,因为它不能像那样工作:

<?php
// This is to check if the request is coming from a specific domain
$ref = $_SERVER['HTTP_REFERER'];
$refData = parse_url($ref);

if($refData['host'] !== 'domain.com') {
// Output string and stop execution
die("Hotlinking not permitted");
}

echo "Executing code here";
?>

请注意,如果您在检查它是否是您想要的之前检查是否设置了 HTTP_REFERER,那么人们会在根本没有设置任何引荐来源网址的情况下访问您的脚本,因此无论如何您都应该检查它。现在,检查特定 URL 就简单多了:

<?php
// This is to check if the request is coming from a specific URL
$ref = $_SERVER['HTTP_REFERER'];

if($ref !== 'http://domain.com/page.html') {
die("Hotlinking not permitted");
}

echo "Executing code here";
?>

关于PHP 仅允许访问特定的引荐来源网址/页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14854117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com