PHP allow_url_fopen如何限制访问

avatar
作者
筋斗云
阅读量:0

要限制访问 allow_url_fopen,您可以使用以下方法:

  1. 通过 .htaccess 文件限制访问

在您的网站根目录下创建或编辑 .htaccess 文件,添加以下内容:

<FilesMatch "\.(php)$">   <IfModule mod_rewrite.c>     RewriteEngine On     RewriteCond %{REQUEST_URI} !^/allowed_url_fopen\.php$     RewriteRule ^(.*)$ /restricted_access.php [L]   </IfModule> </FilesMatch> 

这将重写所有非允许的文件请求到名为 restricted_access.php 的文件。在这个文件中,您可以检查请求的来源并决定是否允许访问。例如:

<?php $allowed_domains = ['example.com', 'example2.com']; $current_domain = $_SERVER['HTTP_HOST'];  if (!in_array($current_domain, $allowed_domains)) {   header('HTTP/1.0 403 Forbidden');   echo 'Access denied';   exit(); }  // Your original code here ?> 

这将仅允许来自 example.comexample2.com 的请求访问您的 PHP 文件。

  1. 使用 PHP 代码限制访问

在您的 PHP 文件中,您可以检查 $_SERVER['HTTP_HOST']$_SERVER['HTTP_REFERER'] 以确定请求的来源。例如:

<?php $allowed_domains = ['example.com', 'example2.com']; $current_domain = $_SERVER['HTTP_HOST'];  if (!in_array($current_domain, $allowed_domains)) {   header('HTTP/1.0 403 Forbidden');   echo 'Access denied';   exit(); }  // Your original code here ?> 

这将仅允许来自 example.comexample2.com 的请求访问您的 PHP 文件。请注意,这种方法可能不是完全可靠的,因为 HTTP_REFERER 可以被伪造。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!