好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

分享十个PHP安全的必备技巧

推荐:《PHP视频教程》

你好,PHP 开发人员。 在这篇文章中,我将尝试为你提供一些可以提高 PHP 应用程序安全性的具体步骤。我关注的是 PHP 配置本身,所以我们不会讨论 SQL 注入、HTTPS 或其他与 PHP 无关的问题。

我将使用我的 docker-entrypoint.sh 脚本中的 bash 行来说明示例,但当然你可以将其应用于非 docker 环境。

Sessions

使用较长的 Session ID 长度

增加会话 id 长度会使攻击者更难猜到(通过暴力或更有可能的侧通道攻击)。长度可以介于22 到 256 个字符之间。默认值为 32。

sed -i -e "s/session.sid_length = 26/session.sid_length = 42/" /etc/php7/php.ini

(别问我为什么在 Alpine Linux 上是26…)

你可能还想查看 session.sid_bits_per_character。

使用具有限制权限的自定义会话保存路径

只有 nginx/php 需要访问会话,所以让我们将它们放在一个具有受限权限的特殊文件夹中。

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

以上就是分享十个PHP安全的必备技巧的详细内容!

查看更多关于分享十个PHP安全的必备技巧的详细内容...

  阅读:33次