赞
踩
最首要的是代码编写的规范性,尽量多考虑会出现的问题,避免bug多的代码出现。
前端:
前端的页面我们可以添加图形验证码,对机器强制破解有一定的拦截作用。
我们可以尽量使用参数化查询,避免使用sql语句。
后端
后端我们可以添加函数对传过来的数据进行过滤或者正则化匹配过滤掉一些数据库操作关键字,或者系统函数来进行过滤。
python中execute() 函数,python会自动过滤params中的特殊字符,制止SQL注入的产生。
php中替换单引号,即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义。限制表单或查询字符串输入的长度。将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防止了攻击者注入SQL命令。
php还可以开启Safe_mode = on;
不要打开错误提示信息,将错误信息写入日志。
服务器
服务器上比如php要开启safe_mode=on。在php配置文件中将Register_globals=on。
使用框架自带的一些安全函数。
PHP的TP5框架中的一些安全函数:
ORM(对象关系模型映射) 本身可以有效预防sql注入,tp框架对数据进行了预处理也可以防止SQL注入。
数据库
我们这边要严格按照数据库的设计规范,对与一些比较重要的字段,根据程序的特点来命名,取不容易被猜到的名称。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。