本博客文章已转移到独立博客,请点击做最好的三三查看全文。
7
11
2012
4

#每日一个小代码#只允许中国用户访问

本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。

嗯用免费空间的孩子们经常会想去掉广告啊什么的,或者TOS里面明确写着不允许中文网站自己却偷偷的搭建中文站什么的很苦恼……嗯没关系,有了这个神器,再也不怕老外查站了!

$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
//获取访客语言,是HTTP头信息的ACCEPT_LANGUAGE的前两个字符
if($language != 'zh'){
//zh是中文,包括zh-CN简体中文和zh-TW正体中文
header("Location: /yourpage.html");
//这句代码是将用户转向到根目录的yourpage.html这里
exit;
//然后退出
}

简洁的几句话就将非中文用户阻挡在外了。这个yourpage.html里面可以写上:We're sorry but our web site is temporarily unavailable due to routine maintenance or unexpected technical problems. We apologize for the inconvenience and are quickly working to correct the situation. 这一看就很专业的英文报错了对吧……

其实还可以做进一步的发挥。原来不是有用Js代码识别语言去广告的吗?那样做如果老外查源码的话,就很容易发现了。其实如果用php的话,去广告可以更加隐蔽。比如kilu.de的去广告代码(在</body>前加上<noscript><noscript>)就可以把body标签替换为php代码如下:

<?php
$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
if($language == 'zh'){
echo '<noscript><noscript>';
}
?>
</body>

这样的话,老外看到的源代码基本就不会出现js去广告那样的很明显的判定语言的语句了!

(这是昨天打算更新的忘记了……今天补上。所以今天还有一更哦~)

本博客内容除标明外均为原创;转载请保留原文地址或pingback;所有代码所有权归作者所有;在此公布的所有作者标明为本人的代码均可非商业自由使用。
本博客文章已转移到独立博客,发表评论请点击做最好的三三查看全文。
Category: PHP | Tags: php 语言 去广告 每日一个小代码 | Read Count: 2160
免费资源部落 说:
Jul 11, 2012 07:07:59 PM

我在这篇文章里用JS判断浏览器语言:http://www.freehao123.com/somee/2/,怎么样用PHP输出那段CSS代码。

Avatar_small
依云 说:
Jul 11, 2012 08:12:34 PM

喜欢使用英文系统的用户怎么办呢?(我同学中都有不少的)
另外,不要搜索引擎收录了么?

Avatar_small
三三 说:
Jul 11, 2012 08:49:23 PM

其实就是一样的:把我的那个echo 后面的内容包括引号一起换成document.write后面的引号内容,比如这样:
echo "<style type=\"text/css\" media=\"screen\">center{display:none;}</style>";
当然,你这段代码双引号嵌套使用显得很乱,可以改成这样:
echo '<style type="text/css" media="screen">center{display:none;}</style>';
交替使用单双引号就不会有用\转义符的麻烦。

Avatar_small
三三 说:
Jul 11, 2012 08:50:47 PM

呃这个嘛我没考虑……其实还可以改进啊,比如判断user_agent实现识别robots,然后使用英文系统的话,呃,这个估计不好办。可以考虑采用ip识别。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

Host by is-Programmer.com

Power by Chito 1.3.1 beta

| Theme: Aeros 2.0 by TheBuckmaker.com