加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

分享十个PHP安全的必备方法

发布时间:2022-07-21 12:54:59 所属栏目:PHP教程 来源:互联网
导读:你好,PHP 开发人员。 在这篇文章中,我将尝试为你提供一些可以提高 PHP 应用程序安全性的具体步骤。我关注的是 PHP 配置本身,所以我们不会讨论 SQL 注入、HTTPS 或其他与 PHP 无关的问题。 我将使用我的docker-entrypoint.sh脚本中的 bash 行来说明示例,
  你好,PHP 开发人员。 在这篇文章中,我将尝试为你提供一些可以提高 PHP 应用程序安全性的具体步骤。我关注的是 PHP 配置本身,所以我们不会讨论 SQL 注入、HTTPS 或其他与 PHP 无关的问题。
 
  我将使用我的docker-entrypoint.sh脚本中的 bash 行来说明示例,但当然你可以将其应用于非 docker 环境。
 
  Sessions
 
  使用较长的 Session ID 长度
 
  增加会话 id 长度会使攻击者更难猜到(通过暴力或更有可能的侧通道攻击)。长度可以介于22 到 256 个字符之间。默认值为 32。
 
 
  sed -i -e "s:;session.save_path = "/tmp":session.save_path = "/sessions":" /etc/php7/php.ini
 
  mkdir -p /sessions
 
  chown nginx:nginx /sessions
 
  chmod 700 /sessions
 
  当然,如果你使用 Redis 处理会话,你并不需要关心这一部分;)
 
  安全会话 Cookie
 
  session.cookie_httponly来阻止 javascript 访问它们。更多信息。
 
 
 
  sed -i -e "s/session.cookie_httponly.*/session.cookie_httponly = true/" /etc/php7/php.ini
 
  sed -i -e "s/;session.cookie_secure.*/session.cookie_secure = true/" /etc/php7/php.ini
 
  session.cookie_secure 防止你的 cookie 在明文 HTTP 上传输。
 
  session.cookie_samesite 以防止跨站点攻击。仅适用于最新的 PHP/浏览器。
 
  使用严格模式
 
  由于 Cookie 规范,攻击者能够通过本地设置 Cookie 数据库或 JavaScript 注入来放置不可移除的会话 ID Cookie。session.use_strict_mode 可以防止使用攻击者初始化的会话 ID。
 
  限制生存期
 
  会话应与浏览器一起关闭。因此设置 session.cookie_lifetime 为0。
 
  Open_basedir
 
  open_basedir 是一个php.ini配置选项,允许你限制 PHP 可以访问的文件/目录。
 
 
  sed -i -e "s#;open_basedir =#open_basedir = /elabftw/:/tmp/:/usr/bin/unzip#" /etc/php7/php.ini
 
  这里我添加了 unzip,因为它是由 Composer 使用的。 /elabftw是所有源 php 文件所在的位置。我不记得为什么/tmp会在这里,但肯定有原因。
 
 
 
  sed -i -e "s/allow_url_fopen = On/allow_url_fopen = Off/" /etc/php7/php.ini
 
  禁用 cgi.fix_pathinfo
 
  你不想让非 PHP 文件作为 PHP 文件执行,对吗?那就禁用此功能。更多信息。
 
 
  sed -i -e "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g" /etc/php7/php.ini
 
  隐藏 PHP 版本
 
  最后,不假思索地说:
 
 
  sed -i -e "s/expose_php = On/expose_php = Off/g" /etc/php7/php.ini
 
  现在就这样。我希望你会发现这篇文章很有用,并改进你的配置;)

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读