zblog php添加Token防止CSRF攻击
CSRF全称Cross Site Request Forgery,即跨站点请求伪造,通过伪装成受信任用户的请求来利用受信任的网站。如果使用的zblog应用有通过cmd.php处理的链接,或提交数据,,应该同时提交一个token参数。另外,您的应用如果有副作用,也务必需要加入CSRF Token。
通过GET方法提交,如果您的目标地址是cmd.php,那么您可以使用以下函数:
1
<?php echo BuildSafeCmdURL(‘act=TagPst‘); ?>
如果不是,那么您也可以直接
1
<?php echo BuildSafeURL(‘main.php‘); ?>
通过POST方法提交,您可以在form表单内加入
1
echo ‘<input type="hidden" value="‘ . $zbp->GetCSRFToken() . ‘">‘;
如果需要兼容旧版Z-BlogPHP,可以使用
1
<?php if (function_exists(‘CheckIsRefererValid‘)) {echo ‘<input type="hidden" value="‘ . $zbp->GetCSRFToken() . ‘">‘;}?>
如果您想在您的应用内集成CSRF Token检测(这将在未来成为上架应用中心的必需要求),以及在增强安全模式下进行来源检测,您可以直接使用以下函数
1
CheckIsRefererValid();
如果需要兼容旧版Z-BlogPHP,可以使用
1
if (function_exists(‘CheckIsRefererValid‘)) CheckIsRefererValid();
参考:https://github.com/zblogcn/zblogphp/commit/acd2d343f857192403c82d4cfd76806eef2dd660
简单举例:
1
2
3
4
5
6
7
8
9
if(isset($_POST[‘form‘])){
if (function_exists(‘CheckIsRefererValid‘)) CheckIsRefererValid();
}
<form>
<input type="text" value=""/>
<?php if (function_exists(‘CheckIsRefererValid‘)) {echo ‘<input type="hidden" value="‘ . $zbp->GetCSRFToken() . ‘">‘;}?>
<input type="Submit" value="保存"/>
</form>
zblog wiki地址:https://wiki.zblogcn.com/doku.php?id=zblogphp:development:features:1.5.2:security
zblog php添加Token防止CSRF攻击
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/42286.html
- 上一篇:NetCore 开发时中文编码转换出现异常
- 下一篇:前端jquery基础实例