作者:张琪健V | 来源:互联网 | 2022-07-18 16:37
thinkphp过滤xss可以在项目配置文件中添加相关配置,如DEFAULT_FILTER>htmlspecialchars,或者使用框架带的I方法获取来自用户提交的数据。
$auto=I('post.auto');//用户设置了自动登录
if(!empty($auto)){
COOKIE('auto',encrypt(serialize($data)));//将登录信息保存到COOKIE,其中$data里含有加密后的帐号,密码,和用户的IP,这里的COOKIE已在全局中设置过期日期为一周
}
用户关闭浏览器再次访问网站时,进行自动登录
if (!is_login()) {//是否未登录状态?
$auth=COOKIE('auto');
if(!empty($auth)){//是否未有自动登录COOKIE?
$data=unserialize(decrypt($auth));
if(!empty($data) && !empty($data['username']) && !empty($data['password']) && !empty($data['last_login_ip'])){
$user=M('Member')->where(array('username'=>$data['username'],'password'=>$data['password']))->find();
if(!empty($user['id'])&&($user['last_login_ip']==get_client_ip())){//COOKIE帐号密码是否有效?//IP来源是否相同?
login_session($user['id'], $user['username'], $data['last_login_ip']);//用户自动登录成功
}
}
}
}
优点:大多数场景下可使被XSS攻击盗取的COOKIE失效。缺点:由于IP存在多台电脑共用的可能,对绑定做不到十分精细。
3:为COOKIE添加httponly配置
最新版本的thinkphp已经支持此参数。
此参数可以保证COOKIE只在http请求中被传输,而不被页面中的脚本获取,现市面上绝大多数浏览器已经支持。
4:HTML5值得观注的新特性:
为iframe的增加的sandbox属性,可以防止不信任的Web页面执行某些操作.相信这个方法以后会被广泛使用。
5:富文本过滤
富文本过滤是,XSS攻击最令人头疼的话题,不仅是小网站,就连BAT这样的巨头也是三天两头的被其困扰.
更多ThinkPHP相关技术文章,请访问ThinkPHP使用教程栏目进行学习!
以上就是thinkphp过滤xss的详细内容,更多请关注其它相关文章!