1. sql 注入
2. XSS
$id = (int) $_REQUEST['id'];if( $id > 0 ){}
登录后复制
登录后复制
$name = htmlentities($_REQUEST['name'], ENT_QUOTES, "UTF-8");// 注意,如果这里不进行转化也是可以的,// 只要在输出的时候进行转化(建立在已经参数绑定的情况下)。
登录后复制
登录后复制
3. CSRF
4. 点击劫持
// js if (top.location.hostname !== self.location.hostname) { alert("您正在访问不安全的页面,即将跳转到安全页面!"); top.location.href = self.location.href;}// Apache 配置:Header always append X-Frame-Options SAMEORIGIN// nginx 配置:add_header X-Frame-Options SAMEORIGIN;
登录后复制
登录后复制
5. 上传文件
6. zip *
7. session 劫持
8. 密码存储
$hashedPassword = password_hash('password', PASSWORD_DEFAULT);password_verify('the wrong password', $hashedPassword); // falsepassword_verify('my super cool password', $hashedPassword); // true
登录后复制
登录后复制
9. 暴力破解
/**防御:1. 限制次数2. 验证码3. 防火墙分析 类似 fail2ban*/
登录后复制
登录后复制
服务器安全
1. 修改 22 端口
vi /etc/ssh/sshd_configfirewall-cmd --list-allfirewall-cmd --add-port=8888/tcp --permanentfirewall-cmd --reload# 如果是阿里云服务器,不要忘记修改阿里云安全组
登录后复制
登录后复制
2. 修改 mysql root 名称
# 修改 mysql 数据库中的 user 表,然后 flush privileges
登录后复制
登录后复制
3. 禁止 root 远程登陆
vi /etc/ssh/sshd_configPermitRootLogin
登录后复制
登录后复制
web 安全
1. sql 注入
2. XSS
$id = (int) $_REQUEST['id'];if( $id > 0 ){}
登录后复制
登录后复制
$name = htmlentities($_REQUEST['name'], ENT_QUOTES, "UTF-8");// 注意,如果这里不进行转化也是可以的,// 只要在输出的时候进行转化(建立在已经参数绑定的情况下)。
登录后复制
登录后复制
3. CSRF
4. 点击劫持
// js if (top.location.hostname !== self.location.hostname) { alert("您正在访问不安全的页面,即将跳转到安全页面!"); top.location.href = self.location.href;}// Apache 配置:Header always append X-Frame-Options SAMEORIGIN// nginx 配置:add_header X-Frame-Options SAMEORIGIN;
登录后复制
登录后复制
5. 上传文件
6. zip *
7. session 劫持
8. 密码存储
$hashedPassword = password_hash('password', PASSWORD_DEFAULT);password_verify('the wrong password', $hashedPassword); // falsepassword_verify('my super cool password', $hashedPassword); // true
登录后复制
登录后复制
9. 暴力破解
/**防御:1. 限制次数2. 验证码3. 防火墙分析 类似 fail2ban*/
登录后复制
登录后复制
服务器安全
1. 修改 22 端口
vi /etc/ssh/sshd_configfirewall-cmd --list-allfirewall-cmd --add-port=8888/tcp --permanentfirewall-cmd --reload# 如果是阿里云服务器,不要忘记修改阿里云安全组
登录后复制
登录后复制
2. 修改 mysql root 名称
# 修改 mysql 数据库中的 user 表,然后 flush privileges
登录后复制
登录后复制
3. 禁止 root 远程登陆
vi /etc/ssh/sshd_configPermitRootLogin
登录后复制
登录后复制
相关推荐:
以上就是php安全实例详解的详细内容,更多请关注Work网其它相关文章!