Php 如何从特定网站向重定向用户显示下载按钮
我在wordpress上有一个免费软件下载站点。任何单击下载按钮的人都将被重定向到另一个站点页面,其中有该软件的下载链接 示例: 点击“下载”按钮https://example1.com/510-2/“正在将用户重定向到”https://example2.com/608/". 然后点击第二页顶部的“解锁下载链接”,页面底部会出现一个隐藏的div(包含下载链接的按钮) 问题: 因此,任何人都可以复制和共享第二个站点页面的url,而无需查看主站点页面() 预期输出: 仅从“”重定向的用户https://example1.com/510-2/可以在第二页的顶部看到“解锁下载链接”。如果有人试图复制并重新打开第二页url“https://example2.com/608/,将无法看到“解锁下载链接”div example2.com帖子格式:Php 如何从特定网站向重定向用户显示下载按钮,php,.htaccess,url,redirect,Php,.htaccess,Url,Redirect,我在wordpress上有一个免费软件下载站点。任何单击下载按钮的人都将被重定向到另一个站点页面,其中有该软件的下载链接 示例: 点击“下载”按钮https://example1.com/510-2/“正在将用户重定向到”https://example2.com/608/". 然后点击第二页顶部的“解锁下载链接”,页面底部会出现一个隐藏的div(包含下载链接的按钮) 问题: 因此,任何人都可以复制和共享第二个站点页面的url,而无需查看主站点页面() 预期输出: 仅从“”重定向的用户https:
#下载
{显示:无}
Lorem Ipsum只是一个虚拟文本
您可以使用$\u服务器['HTTP\u REFERER']
超全局变量,如中所述
您的代码可能如下所示:
<?php
$refr = $_SERVER['HTTP_REFERER'];
if( strpos( $refr, `example.com` ) !== false) {
echo '<button id="#theButton">Download</button>';
} else {
echo '<div class="warning">You must first visit <a href="#">this</a> website.</div>';
}
?>
然而,这并不是万无一失的。要获得更安全的方法,请研究使用.htaccess
文件,特别是RewriteCond%{HTTP\u REFERER}
指令
这讨论了如何做到这一点(例如,您可以有两个网页(一个带有下载按钮,一个带有错误消息),并根据访问者是否来自正确的网站将其引导到相应的网页)
参考文献:
在PHP中执行此操作时,您可以创建一个表单,将表单的
方法
属性设置为post
,并将表单的操作
属性设置为指向您的https://example2.com/608/
为用户托管可下载内容的页面。然后在可下载内容页上设置一个条件,检查$\u POST
的全局数组是否已设置,否则将在重定向到初始页时抛出错误
表格如下所示:
注意:承载表单的页面必须是.php
页面才能在该页面上使用php
//单击按钮后,您可以使用php发送一个post变量,然后检查该变量是否在第二页设置为您定义的值。在php中签出条件后,添加代码以向条件中的用户显示下载链接。如果有人在post数组中没有设置服务器post变量的情况下直接指向页面,下载链接将不会显示。。。现在我必须学习php。谢谢你的帮助@DaleLandry非常感谢你的帮助!非常感谢。意味着很多…:)
<form method="post" action="https://example2.com/608/">
<?=$error?><!-- PHP for echo $error variable later defined I'll cover this later in explanation -->
<input type="submit" value="Click Here" name="download">
</form>
if(isset($_GET['error'])){
$error = 'Please review this info for downloadable content...';
}else{
$error = '';
}