你在这里


IP

在页面中显示浏览用户IP地址来源的小插件代码

James Qi 2016年11月28日 - 12:05 发布

  以前都是使用别人的Widget小工具插件,这次我们也做了一个:

控件

My IP 位置:

  以前采用的是http下的js程序,但嵌入https站点后浏览器提示嵌入的内容不安全,于是就干脆改为https下的js程序了。

  代码中的lang=zh-hans是表示中文简体,另外还支持100种语言,例如中文繁体lang=zh-hant、英文lang=en、德语lang=de、日语lang=ja等。

  更多插件详情可以参看:IPshu Widget页面

自由标签:

Drupal网站中显示留言者的IP地址

James Qi 2016年11月22日 - 17:08 发布

  以前在Wiki网站中文章或者讨论的匿名发布者都是显示出IP地址来(例如这个“周公解夢”页面下方的用户留言),这样方便管理员或者其他用户了解内容发布者的来源,也便于监控防范垃圾内容。而Drupal网站中留言的匿名发布者都是显示“匿名”或者用户自己留下的名称和链接。

  今天尝试了一下Drupal中修改模板文件comment.tpl.php,是可以实现显示留言者IP相关信息的,可以让注册用户和匿名用户的IP地址都显示出来,具体代码如下:

自由标签:

IP地址查询的几个小工具

James Qi 2016年10月8日 - 16:38 发布

  2009年就用MediaWiki做过IP地址查询的网站,但显然Wiki平台并不适合来做这种类型的网站,还容易引起MySQL数据库负载过高,后来干脆生成了纯静态页面(完全脱离数据库,但还是需要PHP环境)的IP查询网站 ,然后就放着没有动过,因为功能不全、Google在国内无法打开等原因,这个站的流量很小。

  后来用Drupal系统后,觉得做IP查询类的网站是可行的,最近才花了一些时间精力来搭建,除了基本的IP归属地查询以外,还增加了一些小的网络工具:

自由标签:

为服务器IP添加反向DNS解析

James Qi 2015年2月4日 - 09:55 发布

  以前在排查我们服务器的IP地址被列入国外的垃圾邮件黑名单的时候,知道最好是为IP设置一个反向DNS域名解析,但国内托管商不太好做,好像需要电信公司等IP拥有者来设置。

  后来租用国外独立服务器,提供商server4you都是做好了IP地址反向域名解析的,用的是国外服务商提供的主域名下的子域名,例如hawk123.startdedicated.com、usloft1234.serverloft.com等。

  最近添置了阿里云的服务器,也有独立IP,昨天发工单咨询,很快就回复说可以做,发去IP和域名后,他们马上就人工设置,几分钟后就可以生效了,例如:server-aliyun-ecs-0.jamesqi.com这样。

  需要进行的设置:

从Apache访问日志统计IP访问数,发现采集者屏蔽

James Qi 2013年11月8日 - 15:31 发布

  在Drupal网站中使用PHP程序来屏蔽采集者效果还不错,可以自己任意设定判断标准。不过我们以前的MediaWiki平台上的网站还没有使用这套PHP程序来屏蔽,最近发现采集又太多了,搞得服务器负载太高,老是从Apache日志人工排查太麻烦、太慢(以前的办法见博文《Apache中设置屏蔽IP地址和URL网址来禁止采集》),今天花一些时间编写了一个小程序来统计日志中的IP访问数,程序很简短,如下:

Apache中设置屏蔽IP地址和URL网址来禁止采集

James Qi 2012年11月23日 - 11:31 发布

  只要是建有数据量比较多的网站,几乎不可避免采集的情况,这方面我们已经有多年的对付经验,主要是通过分析Web访问日志,找到采集的规律,相应来设置屏蔽IP地址或者URL网址来解决。

  国内的Linux服务器上我们都安装了Squid作为Apache的前端缓存,所以我们遇到采集的情况就分析Squid的日志,在squid.conf文件中进行设置屏蔽,然后重启Squid服务就可以。

  近期租用的国外Linux服务器上默认是没有Squid的,我们也就只用了Apache作为Web服务器,修改了httpd.conf来让Apache的日志文件显示更详细的虚拟主机域名、User-Agent等信息,以便遇到采集的情况可以分析。

  前一阵子遇到来自固定某个或者某段IP的采集,我们就修改httpd.conf文件,在影响的主机设置中添加这样的代码:

Order Deny,Allow
Deny from 125.115.2.85
Deny from 91.228.196.234

  然后重启Apache服务就可以。

Godaddy转发邮箱屏蔽服务器IP的问题

James Qi 2012年9月27日 - 09:57 发布

  前几天发现一台Linux服务器的网站上发来的邮件突然很少甚至没有了,可能导致客户联系不上,检查发现/var/spool/mail目录下root中有一些没有发出的邮件,其中说到:

----- The following addresses had permanent fatal errors -----
<webmaster@mingluji.com>
    (reason: 554-m1pismtp01-028.prod.mesa1.secureserver.net)

Linux机器修改hosts文件本机域名设置,避免IP被例如composite blocking list

James Qi 2011年11月1日 - 09:58 发布

  前两天在设置godaddy.com申请的域名时,偶然用了一下其域名测试功能(Go Daddy Diagnostics!),其中有一项(Blacklist Scan)是提示我们网站被列入了某个黑名单,详细去了解说是我们服务器的IP地址被列入了Composite Blocking List (CBL),看这个网站的说明,是因为我们服务器没有标准的域名命名,使用的是"localhost.localdomain",而这种默认命名可能是被入侵的肉鸡机器。

  昨天同事检查后将/etc/hosts文件做了修改,"localhost.localdomain"替换成了实际的域名例如"www.mingluji.com",然后提交CBL去排除也马上成功了。以前曾经遇到过smtp发邮件被退回或者延期等情况,不知道这样修改后能否完全解决,待观察。

 

自由标签:

网站不宜大量、长期屏蔽未知来源IP

James Qi 2011年3月7日 - 21:58 发布

  同事在家一直用联通的3G无线网络上网,但总是说无法访问我们自己的网站,也没有查到原因,以为是联通和电信之间互联互通的问题(以前似乎确实出现过)。

  这几天同事把联通3G上网卡带来,我今天安放在三星的平板电脑上,发现访问其它网站甚至我们公司放在另外机房的网站都正常,只是访问我们自己运营的网站时报错,而报错很明显,是被我们的Squid拒绝了。我查了上网卡的IP并不在我们的屏蔽IP之中,但解开所有被屏蔽IP后,这个上网卡也可以顺利访问我们网站了。这可能是联通上网卡的IP和路由比较奇怪,我们在以前发现来自某些IP大量访问引起服务器负载过高后,进行了屏蔽,因而也误让一些手机上网卡无法访问我们网站了。

  我想起去年以前就曾经有网友发邮件到我们留在Squid拒绝访问页面上的邮箱,询问为何不能访问,我们当时也比较忽略,没有多管。看来以后要很谨慎对待屏蔽IP的措施,避免大量和长期屏蔽,即使有必要保障服务器能正常访问而临时屏蔽IP,稍后也要解开。最好的办法是通过硬件的升级和软件的优化,让负载能力提升到相当的程度,不怕临时负载过高、一些采集程序和不良爬虫。

  上周新购入一台16核CPU+16G内存服务器后,再次出手添置了两台同配置机器,本周内到货,这次是下定决心,首先将硬件瓶颈突破,争取让网站的负载能力、访问速度有个跨级别的提升。

自由标签:

webhostingpad.com更改主机IP、关闭crontab功能无通知

James Qi 2011年1月7日 - 08:54 发布

  前段时间有个放在国外虚拟主机上的跳转域名不起作用了,当时没有太在意,但连续二周都收到监控提醒无法访问,后来检查才发现提供虚拟主机的webhosting.com公司擅自更改了IP地址,我并没有接到通知。这对于域名使用其DNS解析功能的网站来说没有影响,但像我这里使用其他DNS来解析域名到服务器IP地址的用户来说就会造成无法访问。我更改在35.com(使用dns-diy.com解析)或者godaddy.com(使用domaincontrol.com解析)购买域名的解析地址后可以解决。

  另外就是发现这个虚拟主机Cpanel控制面板中的Crontab(时钟守候定时处理)功能无法使用了,刚开始也是不知道原因,直到昨天去support提交ticket后,才得到恢复,原来是他们什么时候对我的帐号使用这个功能进行了限制,我也并没有接到通知。

  国外的“无限制”虚拟主机因为物美价廉在国内的发展很快,但其实肯定是有一些限制的,如果大家在使用中发现有异常的地方,应该及时与对方取得联系,一般都可以较快得到答复和解决,不要像我这样等了好些天才去联系,耽误事情。

订阅 RSS - IP