推薦:《PHP視頻教程》
你好,PHP 開(kāi)發(fā)人員。 在這篇文章中,我將嘗試為你提供一些可以提高 PHP 應(yīng)用程序安全性的具體步驟。我關(guān)注的是 PHP 配置本身,所以我們不會(huì)討論 SQL 注入、HTTPS 或其他與 PHP 無(wú)關(guān)的問(wèn)題。
我將使用我的docker-entrypoint.sh
腳本中的 bash 行來(lái)說(shuō)明示例,但當(dāng)然你可以將其應(yīng)用于非 docker 環(huán)境。
Sessions
使用較長(zhǎng)的 Session ID 長(zhǎng)度
增加會(huì)話 id 長(zhǎng)度會(huì)使攻擊者更難猜到(通過(guò)暴力或更有可能的側(cè)通道攻擊)。長(zhǎng)度可以介于22 到 256 個(gè)字符之間。默認(rèn)值為 32。
sed -i -e "s/session.sid_length = 26/session.sid_length = 42/" /etc/php7/php.ini
(別問(wèn)我為什么在 Alpine Linux 上是26…)
你可能還想查看 session.sid_bits_per_character。
使用具有限制權(quán)限的自定義會(huì)話保存路徑
只有 nginx/php 需要訪問(wèn)會(huì)話,所以讓我們將它們放在一個(gè)具有受限權(quán)限的特殊文件夾中。
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
當(dāng)然,如果你使用 Redis 處理會(huì)話,你并不需要關(guān)心這一部分;)
安全會(huì)話 Cookie