zblogphp1.5.2开发者迁移指南
时间:2023年09月26日
/来源:网络
/编辑:佚名
自此版本开始,加强安全相关功能。
登录相关
此版本不再使用 password Cookie,用户密码不再直接暴露。增加token Cookie,并且强制置于 httpOnly 模式。因此:
1. 不再允许前端设置Cookie登录,也不再允许在前端读取密码相关。
2. 前端模板注销链接需要更新。
使用setcookie做模拟登录的开发者,请使用 SetLoginCookie($user, $cookieTime) 函数,传入需要登录的用户。如应用需要兼容旧版本,可使用function_exists做判断。
CSRF相关
本版本对所有会造成副作用的链接,包括注销、发表文章等通过cmd.php处理的链接。因此,如果您的应用有跳转到这些链接,或提交数据,请同时提交一个 token 参数。另外,您的应用如果有副作用,也务必需要加入CSRF Token。
可参考:https://github.com/zblogcn/zblogphp/commit/e84c581bb0d6f4fd9026d7fc319d4a80eeaab2eb
通过GET方法提交,如果您的目标地址是cmd.php,那么您可以使用以下函数:
点击复制代码 PHP
<?php echo BuildSafeCmdURL('act=TagPst'); ?>
如果不是,那么您也可以直接
点击复制代码 PHP
<?php echo BuildSafeURL('main.php'); ?>
通过POST方法提交,您可以在form表单内加入
点击复制代码 PHP
echo '<input type="hidden" name="csrfToken" value="' . $zbp->GetCSRFToken() . '">';
如果需要兼容旧版Z-BlogPHP,可以使用
点击复制代码 PHP
<?php if (function_exists('CheckIsRefererValid')) {echo '<input type="hidden" name="csrfToken" value="' . $zbp->GetCSRFToken() . '">';}?>
如果您想在您的应用内集成CSRF Token检测(这将在未来成为上架应用中心的必需要求),以及在增强安全模式下进行来源检测,您可以直接使用以下函数
点击复制代码 PHP
CheckIsRefererValid();
如果需要兼容旧版Z-BlogPHP,可以使用
点击复制代码 PHP
if (function_exists('CheckIsRefererValid')) CheckIsRefererValid();
参考:https://github.com/zblogcn/zblogphp/commit/acd2d343f857192403c82d4cfd76806eef2dd660
当然,如果您对报错有更多的要求,$zbp→VerifyCSRFToken() 也许更符合您的心意。
登录相关
此版本不再使用 password Cookie,用户密码不再直接暴露。增加token Cookie,并且强制置于 httpOnly 模式。因此:
1. 不再允许前端设置Cookie登录,也不再允许在前端读取密码相关。
2. 前端模板注销链接需要更新。
使用setcookie做模拟登录的开发者,请使用 SetLoginCookie($user, $cookieTime) 函数,传入需要登录的用户。如应用需要兼容旧版本,可使用function_exists做判断。
CSRF相关
本版本对所有会造成副作用的链接,包括注销、发表文章等通过cmd.php处理的链接。因此,如果您的应用有跳转到这些链接,或提交数据,请同时提交一个 token 参数。另外,您的应用如果有副作用,也务必需要加入CSRF Token。
可参考:https://github.com/zblogcn/zblogphp/commit/e84c581bb0d6f4fd9026d7fc319d4a80eeaab2eb
通过GET方法提交,如果您的目标地址是cmd.php,那么您可以使用以下函数:
点击复制代码 PHP
<?php echo BuildSafeCmdURL('act=TagPst'); ?>
如果不是,那么您也可以直接
点击复制代码 PHP
<?php echo BuildSafeURL('main.php'); ?>
通过POST方法提交,您可以在form表单内加入
点击复制代码 PHP
echo '<input type="hidden" name="csrfToken" value="' . $zbp->GetCSRFToken() . '">';
如果需要兼容旧版Z-BlogPHP,可以使用
点击复制代码 PHP
<?php if (function_exists('CheckIsRefererValid')) {echo '<input type="hidden" name="csrfToken" value="' . $zbp->GetCSRFToken() . '">';}?>
如果您想在您的应用内集成CSRF Token检测(这将在未来成为上架应用中心的必需要求),以及在增强安全模式下进行来源检测,您可以直接使用以下函数
点击复制代码 PHP
CheckIsRefererValid();
如果需要兼容旧版Z-BlogPHP,可以使用
点击复制代码 PHP
if (function_exists('CheckIsRefererValid')) CheckIsRefererValid();
参考:https://github.com/zblogcn/zblogphp/commit/acd2d343f857192403c82d4cfd76806eef2dd660
当然,如果您对报错有更多的要求,$zbp→VerifyCSRFToken() 也许更符合您的心意。
新闻资讯 更多
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法