Thinkphp开发应该如何注意安全问题

ThinkPHP在考虑开发体验的同时,仍然十分重视框架的底层安全,虽然屡有安全漏洞被播报,但官方都是第一时间进行修复处理,而且大部分漏洞只要开发者有一定的安全意识都是可以避免的,今年也和国内的几个安全团队建立了合作关系,有助于提前发现和及时修正框架可能被利用的漏洞或者隐患。

请务必把你的WEB根目录指向public目录而不是应用根目录,并且不要随意更改入口文件的位置。public目录下面不要放除了入口文件和资源文件以外的其它应用文件。

在部署到生产环境的时候,确保你已经关闭了调试模式,可以通过修改环境变量的方式关闭调试模式。

永远不要相信用户的输入。

框架建议的获取请求变量的方法是Request类的param方法。对于有明确类型的请求变量,可以在使用param方法的时候使用类型强制转换。

// 强制转换字符串数据 $name = $request->param('name/s');

// 强制转换整型数据 $name = $request->param('id/d');

// 强制转换浮点型数据 $name = $request->param('score/f');

常见的安全过滤函数包括stripslashes、htmlentities、htmlspecialchars和strip_tags。

验证器的验证操作应该在控制器或者路由阶段使用validate方法进行处理,模型的数据验证功能新版已经取消不再建议使用,模型和数据库操作的时候应该传入经过安全处理过的数据。

跨站脚本攻击(cross-site scripting,简称 XSS),XSS是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

CSRF 跨站请求伪造是 Web 应用中最常见的安全威胁之一,攻击者伪造目标用户的HTTP请求,然后此请求发送到有CSRF漏洞的网站,网站执行此请求后,引发跨站请求伪造攻击。

会话劫持是指攻击者利用各种手段来获取目标用户的session id。一旦获取到session id,那么攻击者可以利用目标用户的身份来登录网站,获取目标用户的操作权限。

'use_trans_sid'  => 0, 'httponly'       => true, 'secure'         => true,

发布了66 篇原创文章 · 获赞 27 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/u010261924/article/details/97624058
今日推荐