zblog php添加Token防止CSRF攻击

2019-03-1121:12:33WEB安全防护Comments3,443 views字数 1126阅读模式

CSRF全称Cross Site Request Forgery,即跨站点请求伪造,通过伪装成受信任用户的请求来利用受信任的网站。如果使用的zblog应用有通过cmd.php处理的链接,或提交数据,应该同时提交一个token参数。另外,您的应用如果有副作用,也务必需要加入CSRF Token。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/anquan/9930.html

通过GET方法提交,如果您的目标地址是cmd.php,那么您可以使用以下函数:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/anquan/9930.html

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

如果不是,那么您也可以直接文章源自菜鸟学院-https://www.cainiaoxueyuan.com/anquan/9930.html

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

通过POST方法提交,您可以在form表单内加入文章源自菜鸟学院-https://www.cainiaoxueyuan.com/anquan/9930.html

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

如果需要兼容旧版Z-BlogPHP,可以使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/anquan/9930.html

1
<?php if (function_exists('CheckIsRefererValid')) {echo '<input type="hidden" name="csrfToken" value="' . $zbp->GetCSRFToken() . '">';}?>

如果您想在您的应用内集成CSRF Token检测(这将在未来成为上架应用中心的必需要求),以及在增强安全模式下进行来源检测,您可以直接使用以下函数文章源自菜鸟学院-https://www.cainiaoxueyuan.com/anquan/9930.html

1
CheckIsRefererValid();

如果需要兼容旧版Z-BlogPHP,可以使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/anquan/9930.html

1
if (function_exists('CheckIsRefererValid')) CheckIsRefererValid();

参考:https://github.com/zblogcn/zblogphp/commit/acd2d343f857192403c82d4cfd76806eef2dd660文章源自菜鸟学院-https://www.cainiaoxueyuan.com/anquan/9930.html

简单举例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/anquan/9930.html

1
2
3
4
5
6
7
8
9
if(isset($_POST['form'])){
	if (function_exists('CheckIsRefererValid')) CheckIsRefererValid();
}
 
<form>
	<input type="text" name="form" value=""/>
	<?php if (function_exists('CheckIsRefererValid')) {echo '<input type="hidden" name="csrfToken" value="' . $zbp->GetCSRFToken() . '">';}?>
	<input name="" type="Submit" class="button" value="保存"/>
</form>
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/anquan/9930.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/anquan/9930.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定