一、防止注入
需要在配置文件中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); //关闭 }?> |
|