分享

TP防止注入与注入

 哇嘿嘿 2014-09-25
一、防止注入
需要在配置文件中config.php中进行配置,
'TOKEN_ON'=>true,  // 是否开启令牌验证 默认关闭
'TOKEN_NAME'=>'__hash__',    // 令牌验证的表单隐藏字段名称
'TOKEN_TYPE'=>'md5',  //令牌哈希验证规则 默认为MD5
'TOKEN_RESET'=>true,  //令牌验证出错后是否重置令牌 默认为true
如果开启表单令牌验证功能,系统会自动在带有表单的模板文件里面自动生成以TOKEN_NAME为名称的隐藏域,其值则是TOKEN_TYPE方式生成的哈希字符串,用于实现表单的自动令牌验证。

自动生成的隐藏域位于表单Form结束标志之前,如果希望自己控制隐藏域的位置,可以手动在表单页面添加{__TOKEN__} 标识,系统会在输出模板的时候自动替换。
 
如果页面中存在多个表单,建议添加{__TOKEN__}标识,并确保只有一个表单需要令牌验证。
 
手动配置
$User = M("User"); // 实例化User对象
// 手动进行令牌验证
if (!$User->autoCheckToken($_POST)){
// 令牌验证错误
}
二、注入
<?php
header("content-type:text/html;charset=utf-8");
//发送到的URL
$loginurl="http://192.168.1.13/tp_examples/TPexamples/form/Index/insert";
for($i=0;$i<=100;$i++){
//提交的数据
$_POST['title']='title'.$i;
$_POST['content']='content'.$i;
$_POST['create_time']=time();
//初始化curl
$curl=curl_init($loginurl);
//设置curl传输选项
curl_setopt($curl,CURLOPT_URL,$loginurl);     //需要提交的地址
curl_setopt($curl,CURLOPT_POST,1);            //更改提交方式为POST
curl_setopt($curl,CURLOPT_POSTFIELDS,$_POST);  //提交表单数据
curl_exec($curl);   //执行
curl_close($curl);  //关闭
}?>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多