分类 web 下的文章

下面总结一下dede织梦5.7的安全防护设置

1、更改管理员名称和密码,尽可能设置的复杂一下,一般是大小写字母数字和特殊符号12位以上
2、强烈建议data/common.inc.php文件属性设置为644(Linux/Unix)或只读(NT);
3、管理目录改名,最好是改成MD5形式的,最好长点,我一般改成20位大小子字母数字。
4、如果是使用HTML可以把plus下的相应文件和根目录下的index.php做掉(用不到的全删掉,还可以把数据库里面不用的表删除掉)

附上plus下的文件说明
如果是一开始就不想要的话,安装版plus目录下进行如下操作。

删除:guestbook文件夹【留言板】;

删除:task文件夹和task.php【计划任务控制文件】

删除:ad_js.php【广告】

删除:bookfeedback.php和bookfeedback_js.php【图书评论和评论调用文件,存在注入漏洞,不安全】

删除:bshare.php【分享到插件】

删除:car.php、posttocar.php和carbuyaction.php【购物车】

删除:comments_frame.php【调用评论,存在安全漏洞】

删除:digg_ajax.php和digg_frame.php【顶踩】

删除:download.php和disdls.php【下载和次数统计】

删除:erraddsave.php【纠错】

删除:feedback.php、feedback_ajax.php、feedback_js.php【评论】

删除:guestbook.php【留言】

删除:stow.php【内容收藏】

删除:vote.php【投票】

5、关注后台更新通知,检查是否打上最新dedeCMS补丁
6、安装完之后,删除intstall目录
7、管理目录下file_manage_xxx.php,不用的可以做掉,这个不是很安全,至少进了后台上传小马很方便
8、下载发布功能(管理目录下soft__xxx_xxx.php),不用的话可以做掉,这个也比较容易上传小马的

通常我们业务实际开发中离不开加密,比如密码加密、token加密、敏感信息加密等,下面介绍一些常用的加密方法。

  1. Base64加密
    Base64是基于64个可打印字符来表示二进制数据的一种方法。
    const btoa = window.btoa('zhang123') // 编码
    console.log('加密后', btoa)
    const atob = window.atob('emhhbmcxMjM=') // 解码
    console.log('解密后', atob)

总结:
优势:
1.base64 适合不同平台、不同语言的传输;
2.页面中内嵌使用 base64 格式的小图片,可减少了服务器访问次数;
3.二进制位转换 base64 算法简单,对性能影响不大;

缺点:
1.二进制文件转换为 base64 后,体积大概增加 1/3;
2.base64 无法缓存,要缓存只能缓存包含 base64 的文件,比如 js 或者 css;
3.面对大文件时,会消耗一定的 CPU 进行编解码。

  1. MD5加密(不可逆)
    MD5是一种单向哈希算法,即将任意长度的“消息”经过哈希运算,生成一个128位的“指纹”。

使用MD5加密可以将原始的字符串转化为不可逆的密文,从而保证数据在传输中不被篡改,提高安全性。在前端中,我们可以通过JS库调用md5加密函数进行字符串加密,以保护用户信息。

安装:
// 下载依赖
npm install js-md5 -s

// 引入
import { md5 } from 'js-md5';

// 打印
console.log('md5加密', md5('zhang123'))

加盐:
console.log('md5加密', MD5('zhang123'));
const salt = "A1B2C3";
// 加盐
console.log('md5加密加盐', MD5('zhang123' + salt));

多次加密:
console.log('md5加密', MD5('zhang123'));
const salt = "A1B2C3";
// 加盐
console.log('md5加密加盐', MD5('zhang123' + salt));
// 多次加密
console.log('md5加密加盐', MD5(MD5('zhang123')));