面试问题之安全

博客内容为PHP-Interview-QA读后笔记

SQL注入

用户在提交的表单中注入SQL命令,恶意篡改原SQL语句的语义,以达到破坏或入侵系统的目的。

防范: ① 使用预编译SQL语句绑定变量的方式;② 检查用户输入;③ 对数据库用户设置权限

XSS攻击

在表单中提交恶意脚本代码,当用户在加载网页时,恶意脚本会被执行。

防范: 对用户输入进行验证,对特殊字符进行转义

CSRF

利用浏览器保存的登录态,诱导用户执行非本意操作。

防范: ① 使用token令牌进行验证;② 增加验证码;③ 检查请求来源

PHP安全

  • 文件包含漏洞:include、require、include_once、require_once,使用这4个函数包含文件,该文件将作为 PHP 代码执行,PHP 内核不会在意该包含的文件是什么类型

  • 代码执行漏洞:危险函数exec、shell_exec、system可以直接执行系统命令。eval函数可以执行 PHP 代码