为AMH面板关闭CSRF防护功能同时启用SameSite

前言

说明

AMH面板使用token来防止CSRF攻击,不过会导致每次从书签进入后台时都无法正确显示页面,需要手动恢复。
因此可以使用Cookie的SameSite属性来达到相同的防护效果,同时不会出现上述问题。

解决

AMH的面板源码在/usr/local/amh-6.2/web,其中6.2是版本号。
修改该目录下的./Amysql/Amysql.php文件,在($Config['SessionStart'] && @session_start());上一行添加session_set_cookie_params(['samesite' => 'Strict']);
修改后就可以放心在AMH面板中关闭CSRF防护。注意此方式只能在php 7.3.0以上版本生效,如果是其它版本需要其它方式。
参考:https://www.php.net/manual/zh/function.session-set-cookie-params.php

0 评论