浏览模式: 标准 | 列表 全部文章

[置顶] 自用的linux批处理命令

IIS6获取用户的真实IP

手头有一台云主机,但是该云主机还有一个“前端”,当通过web访问该云主机上的网站时,日志中留下的只是前端的IP而不是客户端真实IP,经过检索,可用插件F5XForwardedFor.dll解决这个问题:

来源:https://help.aliyun.com/knowledge_detail/37948.html

IIS 6日志中获取访客真实IP的解决方案——安装插件F5XForwardedFor.dll

1、下载与安装:http://aliyuntool.oss.aliyuncs.com/F5XForwardedFor2008.zip。

2、根据自己的版本将x86\Release 或者x64\Release目录下的F5XForwardedFor.dll拷贝到某个目录,假设为C:\ISAPIFilters,确保对IIS进程对该目录有读取权限。

3、打开IIS管理器,找到当前开启的网站,在该网站上右键选择“属性”,打开属性页。

4、属性页切换至“ISAPI筛选器”,点击“添加”按钮,出现添加窗口。

5、在添加窗口:“筛选器名称”填写“F5XForwardedFor”,“可执行文件”填写F5XForwardedFor.dll的完整路径。

6、点击确定,然后重启IIS服务器。

PHP中替换preg_replace()

 1. preg_replace() 

 
$msg = preg_replace("/<style>.+<\/style>/is", "", $msg); -----删除<style></style>和中间的部分 
$msg = preg_replace("/<[^>]+>/", "", $msg); -----是删除<>和中间的内容 
 
i (PCRE_CASELESS) 
如果设定此修正符,模式中的字符将同时匹配大小写字母。 
s (PCRE_DOTALL) 
如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。这和 Perl 的 /s 修正符是等效的。排除字符类例如 [^a] 总是匹配换行符的,无论是否设定了此修正符。 
 
 
2. ereg()与eregi() 
 
注: preg_match() 函数通常是比 ereg() 更快的替代方案 
 
eregi("<body([^>]+)>(.+)</body>",$data,$b)----察看$data中是否有body标签。如果有,把参数赋值$b[0],中间部分赋值$b[1]。 
 
bool ereg ( string pattern, string string [, array regs] ) 
 
int eregi ( string pattern, string string, array [regs] ) 
 
eregi()和 ereg() 类似,用法也相同。不同之处在于ereg()有区分大小写,eregi()与大小写无关。

KVM新建分区

这篇日志被加密了,请输入密码后查看。

CentOS下安装iftop工具查看Linux下的流量

 首先尝试最简单的命令:yum -y install iftop

如果不成功则采用编译安装的方式:

yum -y install libpcap libpcap-devel ncurses ncurses-devel

wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz

tar -zxvf iftop-0.17.tar.gz

cd iftop-0.17

./configure

make

make install

Hyper-V下CentOS网卡配置

vi /etc/sysconfig/network-scripts/ifcfg-eth0
 
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.2.115
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=8.8.8.8
DNS2=114.114.114.114
ONBOOT=yes
 
vi /etc/sysconfig/network
 
NETWORKING=yes
HOSTNAME=localhost
GATEWAY=192.168.2.1
 
接着执行service network start

Linux下压力测试工具ab

这篇日志被加密了,请输入密码后查看。

PHP模拟手机访问并截取一段程序

这篇日志被加密了,请输入密码后查看。

清除Discuz帖子中被插入非法内容的小程序

朋友的Discuz论坛在2015年7月-10月期间修改论坛帖子,在每个帖子的末尾插入了非法内容(下方第1种),2016年7月14-16日期间修改论坛帖子,在每个帖子的末尾插入了非法内容(下方第2种)。内容从数据库中查询得到如下:

  • [b][url] [img] www.xxxxx.com [/img] [size=6][color=Blue]非法内容介绍[/color][/size] [/url][/b]
  • <meta http-equiv="refresh" content="0; url=http://xxxxx.com">[b][url] [img] www.xxxxx.com [/img] [size=6][color=Red]非法内容介绍[/color][/size] [/url][/b]

第一种内容只是一个红色大字体的链接,需要用户点击,第二种内容更加BT,会直接跳转到目标非法网站。因为帖子是被修改的,所以非常隐蔽,而很多通过搜索引擎进入网站的用户会被一瞬间导入到非法网站……

观察了一下上方2条非法内容中均包含的字符串,就可以在mysql数据库中查询到有多少帖子被修改了:SELECT count(*) FROM  `pre_forum_post` WHERE  `message` LIKE  '%[b][url] [img]%'

因为非法内容这个区域的字符是杂乱无章并且加了一些特殊字符,为了有效清除这些非法信息。我写了个PHP小程序,具体如下:

  • config.php 数据库连接信息配置文件
  • dz_clear_link_cmd.php 通过windows或者linux命令行下执行的
  • dz_clear_link_web.php 通过网页访问形式执行的

本小程序用于清除插入到discuz论坛帖子内容末尾的垃圾信息

本程序基于GBK编码设置,如果你的论坛程序是UTF-8可能会存在问题。

1. 打开config,编辑数据库信息

2. 把3个php文件上传到网站根目录下

3. 访问http://网站地址/dz_clear_link_web.php 输入帖子pid号进行清除

找帖子pid号的方法:

a. 找到有问题帖子,点击“回复”,找到链接中的reppost=1153981,这个1153981就是这个帖子的pid

b. 用phpmyadmin登陆数据库后搜索非法信息,找到帖子pid

如果你使用的是独立主机(windows或者linux系统),在1和2这两步的基础上,在windows命令行下或者linux的终端界面下执行dz_clear_link_cmd.php程序,格式为:

php dz_clear_link_cmd.php 帖子pid号

这样也可以清除帖子中的垃圾信息

dz_clear_link.zip