TP5学习(十二):安全

news/2024/11/18 2:28:22/

一、输入安全

  • 设置public目录为唯一对外访问目录,不要把资源文件放入应用目录;
  • 开启表单令牌验证避免数据的重复提交,能起到CSRF防御作用;
  • 使用框架提供的请求变量获取方法(Request类param方法及input助手函数)而不是原生系统变量获取用户输入数据;
  • 对不同的应用需求设置default_filter过滤规则(默认没有任何过滤规则),常见的安全过滤函数包括stripslashes、htmlentities、htmlspecialchars和strip_tags等,请根据业务场景选择最合适的过滤方法;
  • 使用验证类或者验证方法对业务数据设置必要的验证规则;
  • 如果可能开启强制路由或者设置MISS路由规则,严格规范每个URL请求;

二、数据库安全

  • 尽量少使用数组查询条件而应该使用查询表达式替代;
  • 尽量少使用字符串查询条件,如果不得已的情况下 使用手动参数绑定功能;
  • 不要让用户输入决定要查询或者写入的字段;
  • 对于敏感数据在输出的时候使用hidden方法进行隐藏;
  • 对于数据的写入操作应当做好权限检查工作;
  • 写入数据严格使用field方法限制写入字段;
  • 对于需要输出到页面的数据做好必要的XSS过滤;

三、上传安全

网站的上传功能也是一个非常容易被攻击的入口,所以对上传功能的安全检查是尤其必要的。

系统的think\File提供了文件上传的安全支持,包括对文件后缀、文件类型、文件大小以及上传图片文件的合法性检查,确保你已经在上传操作中启用了这些合法性检查。

为了方便版本升级,并且保证public目录为唯一的web可访问目录,资源文件可以放到项目之外,例如项目目录为

/home/www/thinkphp/

那么资源目录、上传文件保存的目录

/home/www/resource/
/home/www/resource/upload/

为了项目的可维护性,目录操作最好不超出本项目的根目录,所以需要把resource目录映射到根目录

ln -s /home/www/resource/  /home/www/thinkphp/resource/

如果上传文件也需要web访问,可以生成一个软连接到public

ln -s /home/www/thinkphp/resource/upload/  /home/www/thinkphp/public/upload/

四、其他安全建议

  • 对所有公共的操作方法做必要的安全检查,防止用户通过URL直接调用;
  • 不要缓存需要用户认证的页面;
  • 对用户的上传文件,做必要的安全检查,例如上传路径和非法格式;
  • 对于项目进行充分的测试,不要生成业务逻辑的安全隐患(这可能是最大的安全问题);
  • 最后一点,做好服务器的安全防护,安全问题的关键其实是你的最薄弱的环节;

http://www.ppmy.cn/news/720965.html

相关文章

毛概的笔记

简述毛泽东思想的活的灵魂。答:(1)贯穿于毛泽东思想各个组成部分的立场、观点和方法,是毛泽东思想的活的灵魂,它们有三个基本方面,即实事求是,群众路线,独立自主。(2&…

TP5之安全机制

防止sql注入 1、查询条件尽量使用数组方式,具体如下: $wheres array();$wheres[account] $account;$wheres[password] $password;$User->where($wheres)->find(); 2、如果必须使用字符串,建议使用预处理机制,具体如下&…

ROS学习笔记 -day1入门学习

学习资料:https://sychaichangkun.gitbooks.io/ros-tutorial-icourse163/content/chapter1/ 1、Linux下的编译器:gcc/g , Makefile , Cmake , … ROS对Cmake进行拓展 — Catkin(对cmake , make指令进行封装) 2、Catkin编译与工作…

超低延迟高可靠

1. 超低延迟 1.1 解释 超低延迟通常指延迟至少低于10 ms,甚至低于1ms。 1.2 影响因素 1.2.1 传统因素 传播延迟:取决于路径长度;传输延迟:取决于数据包大小;排队延迟:取决于处理速度和到达速率&#x…

OBS降低延迟

设置->输出->输出模式选择高级 image.png 码率控制选择ABR。比特率设置在2500以上。这里在选择时应考虑到大多数观众端的网络状况,避免因推流画面质量过,导致高观看端由于网速有限出现卡顿。关键帧间隔设置为1。CPU使用预设选择superfast。配置选择…

谈谈网络游戏中的延迟解决方案

我们平常玩的很多网络游戏,比如英雄联盟/王者荣耀/PUBG等,你感觉到卡顿往往不是因为你的网速问题,而是因为网络延时导致的,比如说LOL美服的游戏服务器在美国,而你在中国的华中地区玩着美服LOL,那么你的延迟…

Moba类游戏中如何处理网络延迟与卡顿

《王者荣耀》技术测试版本出台的时候,延迟非常大,而且还是卡顿,现在看一下帧同步里面比较特别的地方。帧同步有点像在看电影,它传统的帧同步需要有buffer,每个玩家输入会转发给所有客户端,互相会有编号&…

网速卡慢延迟大怎么解决?

网络卡慢是一个让人十分烦躁的问题,无论你是在工作中还是在娱乐时都可能遭遇这样的情况。但是,如果你知道如何解决这个问题,你就可以避免这种情况并保持高速的网络连接。在本文中,小秋将分享一些实用的技巧和建议,帮助…