代码安全

开发安全是我们在开发过程中很容易的一个环节,由于程序的不严谨很容易数据泄漏、数据丢失、服务器被提权,因此我们在开发过程中就要尽量做到开发规范严谨,接下来主要讲解下在开发过程中要注意避免产生BUG的几种情形

SQL注入

这种问题常常出现在读写操作数据库时产生,很多时候我们需要查询数据库的数据做逻辑操作,由于未对请求的参数做过滤或处理,很容易产生数据丢失和数据泄漏的问题。

例如,我们需要根据用户名查询指定用户的信息,我们常用的SQL语句如下:

$username = $this->request->request("username");
\think\Db::query("SELECT * FROM fa_user WHERE username='{$username}'");

一般情况下我们username参数传普通参数都不会有问题,但是如果遇到别有用心之人传一些特殊参数,例如传递username的参数为

http://www.yoursite.com/test/index?username=' OR '1'='1