溫馨提示×

PHP allow_url_fopen如何限制訪問

PHP
小樊
81
2024-10-23 12:45:19
欄目: 編程語言

要限制訪問 allow_url_fopen,您可以使用以下方法:

  1. 通過 .htaccess 文件限制訪問

在您的網(wǎng)站根目錄下創(chuàng)建或編輯 .htaccess 文件,添加以下內(nèi)容:

<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 的文件。在這個(gè)文件中,您可以檢查請求的來源并決定是否允許訪問。例如:

<?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 文件。請注意,這種方法可能不是完全可靠的,因?yàn)?HTTP_REFERER 可以被偽造。

0