Z-Blog Wiki Z-Blog Wiki

Z-Blog官方文库

用户工具

站点工具


zblogphp:development:features:1.5.2:security

这是本文档旧的修订版!


1.5.2开发者迁移指南

自此版本开始,加强安全相关功能。

登录相关

此版本不再使用 password Cookie,用户密码不再直接暴露。增加token Cookie,并且强制置于 httpOnly 模式。因此:

1. 不再允许前端设置Cookie登录,也不再允许在前端读取密码相关。

2. 前端模板注销链接需要更新。

使用setcookie做模拟登录的开发者,请使用 SetLoginCookie($user, $cookieTime) 函数,传入需要登录的用户。如应用需要兼容旧版本,可使用function_exists做判断。

CSRF相关

本版本对所有会造成副作用的链接,包括注销、发表文章等通过cmd.php处理的链接。因此,如果您的应用有跳转到这些链接,或提交数据,请同时提交一个 token 参数。另外,您的应用如果有副作用,也务必需要加入CSRF Token。

通过GET方法提交,如果您的目标地址是cmd.php,那么您可以使用以下函数:

<?php echo BuildSafeCmdURL('act=TagPst'); ?>

如果不是,那么您也可以直接

<?php echo BuildSafeURL('main.php'); ?>

通过POST方法提交,您可以在form表单内加入

echo '<input type="hidden" name="csrf_token" value="' . $zbp->GetCSRFToken() . '">';

如果您想在您的应用内集成CSRF Token检测(这将在未来成为上架应用中心的必需要求),以及在增强安全模式下进行来源检测,您可以直接使用以下函数

CheckIsRefererValid();
当然,如果您对报错有更多的要求,$zbp→VerifyCSRFToken() 也许更符合您的心意。具体请看进一步文档。

zblogphp/development/features/1.5.2/security.1523278262.txt · 最后更改: 2018/04/09 20:51 由 zsx