来自.htaccess的阻止域名

时间:2017-10-01 08:04:49

标签: php .htaccess dns

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

.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

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

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

1 个答案:

答案 0 :(得分:-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]

OR

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