推薦:《PHP視頻教程》
你好,PHP 開發(fā)人員。 在這篇文章中,我將嘗試為你提供一些可以提高 PHP 應用程序安全性的具體步驟。我關注的是 PHP 配置本身,所以我們不會討論 SQL 注入、HTTPS 或其他與 PHP 無關的問題。
我將使用我的docker-entrypoint.sh
腳本中的 bash 行來說明示例,但當然你可以將其應用于非 docker 環(huán)境。
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