PHPCMS v9 安全防范教程

作者:ouyang 发布时间:2020年03月23日 阅读: 分类:学习笔记

一、目录权限设置很重要:可以有效防范黑客上传木马文件.
如果通过 chmod 644 * -R 的话,php文件就没有权限访问了。
如果通过chmod 755 * -R 的话,php文件的权限就高了。

所以就需要分开设置目录权限和文件权限:
linux 服务器权限:经常要用到的命令:

find /path -type f -exec chmod 644 {} \;  //设置文件权限为644
find /path -type d -exec chmod 755 {} \;  //设置目录权限为755

设置完成后,再通过命令:chown root:root * -R 将目录和文件的所有者改为root。

这样就更加安全了。

FTP用户,确定使用的是linux主机。windows需要登录到服务器中设置。
进入到phpcms 安装根目录,选取所有文件:
设置数字值为:755,同时选定:选择递归处理子目录,只应用到目录
同样再选择所有文件,数字值为:644,选择递归处理子目录,只应用到文件
如果设置错了,重新再设置就可以了。

二、Linux find命令 查找可疑的木马文件
查找:30天内被修改的文件

    find  ./  -mtime  -30  -type f  -exec ls -l  {} \;
    找到目录下所有的txt文件
    find ./ -name "*.txt" -print
    找到目录下所有的txt文件并删除
    find ./ -name "*.txt" -exec rm -rf {} \;
    找到目录下所有的php文件 并且在30天之类被修改的文件
    find  ./ -name "*.php" -mtime  -30  -typef  -exec  ls -l  {} \;
    找到目录下所有的php文件,同时,满足 30天以内,1天之前的
    find ./ -name "*.php" -mtime -30 -mtime +1 -type f -execls -l {} \;

三、通过apache配置限定:
1、apache 下 禁止目录执行php
通过目录下面放置 .htaccess文件来限制权限。
该方法会将php文件当做附件并下载。同时,可以通过浏览器访问到文件。
php_flag engine off

使用场景:在下面目录放置
uploadfile\
statics\
html\
phpsso_serveruploadfile\
phpsso_serverstatics\

2、禁止通过浏览器访问所有文件

通过目录下面放置 .htaccess文件来限制权限。

RewriteEngine on
RewriteRule ^(.*) /index.html 

使用场景:
caches\
phpsso_servercaches\

3、禁止php跨目录浏览权限配置:

虚拟主机配置样例:

<VirtualHost *:80>
    ServerAdmin root@phpip.com
    DocumentRoot /data/wwwroot/www
    ServerName www.phpip.com
    <Directory  /data/wwwroot/www>
        Options  FollowSymLinks
        AllowOverride Options FileInfo
        Order allow,deny
        Allow from all
        php_admin_value open_basedir /data/wwwroot/www/:/var/tmp/
        DirectoryIndex index.htm index.html index.php 
    </Directory>
    ErrorLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-error_log 86400 480"
    CustomLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-access_log 86400 480" common
</VirtualHost>

4、按天存放apache日志:

参考上面配置文件:

ErrorLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-error_log 86400 480"
CustomLog "| /usr/sbin/rotatelogs /data/logs/%m_%d_www.phpip.com-access_log 86400 480" common

如何添加自己做的单网页模版
默认显示页码数有10条,比如想更改成显示3条,例如这样
上一页 1 2 3...34 下一页
更改phpcmslibsfunctionsglobal.func.php,找到分页函数,大概在589行,function pages,修改为$setpages = 3

phpcms 用户自定义函数库 extention.func.php
经常,我们会遇到有会php或者准备做网站改版的用户都会考虑到,如何才能保障自己定义的函数,在官方发布升级包后,还能够正常的使用。
phpcms为二次开发提供了强大的技术核心支持。

位于:phpcmslibsfunctionsextention.func.php

/**
 *  extention.func.php 用户自定义函数库
 *
 * @copyright (C) 2005-2010 PHPCMS
 * @license http://www.phpcms.cn/license/
 * @lastmodify 2010-10-27
 */
 
?>

是一个空的文件。用户可以放置自定的一些函数或者其他需要加载的变量都可以。
该文件是会在全站。每次调用的时候自动加载。

除了这个文件外,phpcms 还有另外一个目录:
phpcmslibsfunctionsautoload

开发者可以在这个文件中写入任意的php文件。phpcms在运行的过程中都会加载这里面的文件。
所以对于一些二次开发模块比较多的用户,可以选择将不同功能的函数,文件放置到不同的文件当中。

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

标签: phpcms

添加新评论 »