Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从特定网站向重定向用户显示下载按钮_Php_.htaccess_Url_Redirect - Fatal编程技术网

Php 如何从特定网站向重定向用户显示下载按钮

Php 如何从特定网站向重定向用户显示下载按钮,php,.htaccess,url,redirect,Php,.htaccess,Url,Redirect,我在wordpress上有一个免费软件下载站点。任何单击下载按钮的人都将被重定向到另一个站点页面,其中有该软件的下载链接 示例: 点击“下载”按钮https://example1.com/510-2/“正在将用户重定向到”https://example2.com/608/". 然后点击第二页顶部的“解锁下载链接”,页面底部会出现一个隐藏的div(包含下载链接的按钮) 问题: 因此,任何人都可以复制和共享第二个站点页面的url,而无需查看主站点页面() 预期输出: 仅从“”重定向的用户https:

我在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帖子格式:



#下载
{显示:无}
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 = '';
}