【问题标题】:block domain from .htaccess阻止来自 .htaccess 的域
【发布时间】:2018-03-12 15:11:29
【问题描述】:

我想用这个示例脚本阻止一些域:

.htaccess 文件

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http?://([^.]+\.)*google\.com [NC]
RewriteRule .* - [F]
</IfModule>

index.php 文件

<?php
// set location
$address = "Brooklyn+NY+USA";

//set map api url
$url = "http://maps.google.com/maps/api/geocode/json?address=$address";

//call api
$json = file_get_contents($url);
$json = json_decode($json);
$lat = $json->results[0]->geometry->location->lat;
$lng = $json->results[0]->geometry->location->lng;
echo "Latitude: " . $lat . ", Longitude: " . $lng;

?>

结果:纬度:40.6781784,经度:-73.9441579

问:如何使用 .htaccess 阻止来自该域http://maps.google.com/maps/api/geocode/json?address= 的数据?

我的意思是如果域被阻止,结果必须为空。但我仍然无法解决它..

【问题讨论】:

  • 要获得合理的答案,您可能应该提供更多关于您要达到的目标的详细信息。例如,您正在谈论“阻止某些域”或“阻止来自该域的数据”,但在您的示例 .htaccess 中,您有一个基于 REFERERRewriteCond。我不确定这是否是您想要的。
  • .htaccess 被 Web 服务器用于确定它如何处理请求。它不会在你的情况下发挥作用。如果您想阻止应用程序发出传出 Web 请求,则必须以其他方式执行此操作,可能更改 /etc/hosts 文件以使 maps.google.com 无法正确解析,或者只是从php 文件。

标签: php .htaccess dns


【解决方案1】:

你可以这样试试。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*google\.com [NC]
    RewriteRule .* - [F]
</IfModule>

或者如果您想拒绝来自任何特定 domain.com 的访问,请执行此操作

SetEnvIfNoCase Referer "domain.com" bad_referer
Order Allow,Deny
Allow from ALL
Deny from env=bad_referer

如果有人尝试访问 www.domain.com,这将显示拒绝访问。如果用户点击 domain.com 上的链接,然后它会重定向到您的网站,他们会看到错误 403 Forbidden


RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://www.google.com/
RewriteRule /* http://www.anydomain.com [R,L]

使用这个你可以将任何用户从www.google.com重定向到anydomain.com


更新

RewriteEngine on
RewriteCond %{HTTP_REFERER} maps.google\.com [NC]
RewriteRule .* - [F]

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://(www\.)?maps.google\.com [NC]
RewriteRule (.*)    - [F]

【讨论】:

  • 和我的一样
  • @Andriyansyahabdulmaaz 嗯,你可以添加 maps.google.com
  • 我已关注您的答案,但它仍在显示,结果:纬度:40.6781784,经度:-73.9441579
  • 是否可以在 php 脚本中使用 .htaccess 来阻止某些域?
  • @Andriyansyahabdulmaaz 等一下我会检查
猜你喜欢
  • 2015-07-30
  • 2019-10-28
  • 1970-01-01
  • 1970-01-01
  • 2013-08-11
  • 1970-01-01
  • 2016-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多