当前位置: 首页 > news >正文

深圳网站设计实力乐云seo广州电商小程序开发

深圳网站设计实力乐云seo,广州电商小程序开发,seo 网站结构优化,如何做一元购物网站php防注入和XSS过滤参考代码对网站发动XSS攻击的方式有很多种#xff0c;仅仅使用php的一些内置过滤函数是对付不了的#xff0c;即使你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags这些函数都使用上了也不一定能保证绝对的安全。那么如…php防注入和XSS过滤参考代码对网站发动XSS攻击的方式有很多种仅仅使用php的一些内置过滤函数是对付不了的即使你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags这些函数都使用上了也不一定能保证绝对的安全。那么如何预防 XSS 注入主要还是需要在用户数据过滤方面得考虑周全在这里不完全总结下几个 Tips1. 假定所有的用户输入数据都是“邪恶”的2. 弱类型的脚本语言必须保证类型和期望的一致3. 考虑周全的正则表达式4. strip_tags、htmlspecialchars 这类函数很好用5. 外部的 Javascript 不一定就是可靠的6. 引号过滤必须要重点注意7. 除去不必要的 HTML 注释8. Exploer 求你放过我吧……方法一利用php htmlentities函数例子php防止XSS跨站脚本攻击的方法:是针对非法的HTML代码包括单双引号等使用htmlspecialchars()函数 。在使用htmlspecialchars()函数的时候注意第二个参数, 直接用htmlspecialchars($string) 的话,第二个参数默认是ENT_COMPAT,函数默认只是转化双引号(“), 不对单引号(‘)做转义.所以,htmlspecialchars函数更多的时候要加上第二个参数, 应该这样用: htmlspecialchars(string,ENTQUOTES).当然,如果需要不转化如何的引号,用htmlspecialchars(string,ENTQUOTES).当然,如果需要不转化如何的引号,用htmlspecialchars(string,ENT_NOQUOTES).另外, 尽量少用htmlentities, 在全部英文的时候htmlentities和htmlspecialchars没有区别,都可以达到目的.但是,中文情况下, htmlentities却会转化所有的html代码连同里面的它无法识别的中文字符也给转化了。htmlentities和htmlspecialchars这两个函数对 之类的字符串支持不好,都不能转化, 所以用htmlentities和htmlspecialchars转化的字符串只能防止XSS攻击,不能防止SQL注入攻击.所有有打印的语句如echoprint等 在打印前都要使用htmlentities() 进行过滤这样可以防止Xss注意中文要写出htmlentities($name,ENT_NOQUOTES,GB2312) 。方法二什么也不多说我们给一个函数例子 functionxss_clean($data){//Fix entityn;$datastr_replace(array(,,),array(,,),$data);$datapreg_replace(/(#*w)[x00-x20];/u,$1;,$data);$datapreg_replace(/(#x*[0-9A-F]);*/iu,$1;,$data);$datahtml_entity_decode($data,ENT_COMPAT,UTF-8);//Remove any attribute starting with on or xmlns$datapreg_replace(#([^]?[x00-x20])(?:on|xmlns)[^]*#iu,$1,$data);//Remove javascript: and vbscript: protocols$datapreg_replace(#([a-z]*)[x00-x20]*[x00-x20]*([]*)[x00-x20]*j[x00-x20]*a[x00-x20]*v[x00-x20]*a[x00-x20]*s[x00-x20]*c[x00-x20]*r[x00-x20]*i[x00-x20]*p[x00-x20]*t[x00-x20]*:#iu,$1$2nojavascript...,$data);$datapreg_replace(#([a-z]*)[x00-x20]*([]*)[x00-x20]*v[x00-x20]*b[x00-x20]*s[x00-x20]*c[x00-x20]*r[x00-x20]*i[x00-x20]*p[x00-x20]*t[x00-x20]*:#iu,$1$2novbscript...,$data);$datapreg_replace(#([a-z]*)[x00-x20]*([]*)[x00-x20]*-moz-binding[x00-x20]*:#u,$1$2nomozbinding...,$data);//Only works in IE:$datapreg_replace(#([^]?)style[x00-x20]*[x00-x20]*[]*.*?expression[x00-x20]*([^]*#i,$1,$data);$datapreg_replace(#([^]?)style[x00-x20]*[x00-x20]*[]*.*?behaviour[x00-x20]*([^]*#i,$1,$data);$datapreg_replace(#([^]?)style[x00-x20]*[x00-x20]*[]*.*?s[x00-x20]*c[x00-x20]*r[x00-x20]*i[x00-x20]*p[x00-x20]*t[x00-x20]*:*[^]*#iu,$1,$data);//Remove namespaced elements (we do not need them)$datapreg_replace(#]*#i,,$data);do{//Remove really unwanted tags$old_data$data;$datapreg_replace(#]*#i,,$data);}while($old_data!$data);//we are done...return$data;} 方法三//php防注入和XSS攻击通用过滤.$_GETSafeFilter($_GET);$_POSTSafeFilter($_POST);$_COOKIESafeFilter($_COOKIE);functionSafeFilter($arr){$raArray(/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/,/script/,/javascript/,/vbscript/,/expression/,/applet/,/meta/,/xml/,/blink/,/link/,/style/,/embed/,/object/,/frame/,/layer/,/title/,/bgsound/,/base/,/onload/,/onunload/,/onchange/,/onsubmit/,/onreset/,/onselect/,/onblur/,/onfocus/,/onabort/,/onkeydown/,/onkeypress/,/onkeyup/,/onclick/,/ondblclick/,/onmousedown/,/onmousemove/,/onmouseout/,/onmouseover/,/onmouseup/,/onunload/);if(is_array($arr)){foreach($arras$key$value){if(!is_array($value)){if(!get_magic_quotes_gpc())//不对magic_quotes_gpc转义过的字符使用addslashes(),避免双重转义。{$valueaddslashes($value);//给单引号、双引号、反斜线\与NULNULL 字符加上反斜线转义}$valuepreg_replace($ra,,$value);//删除非打印字符粗暴式过滤xss可疑字符串$arr[$key] htmlentities(strip_tags($value));//去除HTML 和 PHP 标记并转换为 HTML 实体}else{SafeFilter($arr[$key]);}}}}?1.1 什么是XSS攻击XSS是一种经常出现在web应用中的计算机安全漏洞它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击而变得广为人知。对于跨站脚本攻击黑客界共识是跨站脚本攻击是新型的“缓冲区溢出攻击“而JavaScript是新型的“ShellCode”。数据来源2007 OWASP Top 10的MITRE数据注OWASP是世界上最知名的Web安全与数据库安全研究组织在2007年OWASP所统计的所有安全威胁中跨站脚本攻击占到了22%高居所有Web威胁之首。XSS攻击的危害包括1、盗取各类用户帐号如机器登录帐号、用户网银帐号、各类管理员帐号 2、控制企业数据包括读取、篡改、添加、删除企业敏感数据的能力 3、盗窃企业重要的具有商业价值的资料 4、非法转账 5、强制发送电子邮件 6、网站挂马 7、控制受害者机器向其它网站发起攻击 1.2 XSS漏洞的分类XSS漏洞按照攻击利用手法的不同有以下三种类型类型A本地利用漏洞这种漏洞存在于页面中客户端脚本自身。其攻击过程如下所示Alice给Bob发送一个恶意构造了Web的URL。Bob点击并查看了这个URL。恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在Bob电脑上。具有漏洞的HTML页面包含了在Bob电脑本地域执行的JavaScript。Alice的恶意脚本可以在Bob的电脑上执行Bob所持有的权限下的命令。类型B反射式漏洞这种漏洞和类型A有些类似不同的是Web客户端使用Server端脚本生成页面为用户提供数据时如果未经验证的用户数据被包含在页面中而未经HTML实体编码客户端代码便能够注入到动态页面中。其攻击过程如下Alice经常浏览某个网站此网站为Bob所拥有。Bob的站点运行Alice使用用户名/密码进行登录并存储敏感信息(比如银行帐户信息)。Charly发现Bob的站点包含反射性的XSS漏洞。Charly编写一个利用漏洞的URL并将其冒充为来自Bob的邮件发送给Alice。Alice在登录到Bob的站点后浏览Charly提供的URL。嵌入到URL中的恶意脚本在Alice的浏览器中执行就像它直接来自Bob的服务器一样。此脚本盗窃敏感信息(授权、信用卡、帐号信息等)然后在Alice完全不知情的情况下将这些信息发送到Charly的Web站点。类型C存储式漏洞该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞骇客将攻击脚本上传到Web服务器上使得所有访问该页面的用户都面临信息泄漏的可能其中也包括了Web服务器的管理员。其攻击过程如下Bob拥有一个Web站点该站点允许用户发布信息/浏览已发布的信息。Charly注意到Bob的站点具有类型C的XSS漏洞。Charly发布一个热点信息吸引其它用户纷纷阅读。Bob或者是任何的其他人如Alice浏览该信息其会话cookies或者其它信息将被Charly盗走。类型A直接威胁用户个体而类型B和类型C所威胁的对象都是企业级Web应用。传统防御技术2.1.1基于特征的防御XSS漏洞和著名的SQL注入漏洞一样都是利用了Web页面的编写不完善所以每一个漏洞所利用和针对的弱点都不尽相同。这就给XSS漏洞防御带来了困难不可能以单一特征来概括所有XSS攻击。
http://www.w-s-a.com/news/2984593/

相关文章:

  • 站内优化seo设计网站faq需注意
  • 网站icp备案网址社交网站图片展示
  • 做网站采集内容登封郑州网站建设
  • 南阳做网站推广打开有些网站显示建设中
  • 做海报赚钱的网站汕头网站设计电话
  • 网站服务器租用多少钱一年合适seo推广绩效考核指标是什么
  • 简易手机站做网站的公司叫什么问题
  • 网站建设教程书籍免费下载手机网站翻页效果
  • 网站建设成品做网站ps的素材
  • 泰州建设局网站网站和网页的不同
  • 镇江网站建设报价台州网站建设seo
  • 宿迁公司做网站建网站用什么软件好
  • 昆明企业网站设计公司玩家自助充值网站建设
  • seo百度站长工具查询iis6建设网站
  • wordpress网站源代码互联网项目推广
  • 优秀网站设计分析学做网站要多久多少钱
  • 浙江省建设工程监理管理协会网站做网站的简称
  • 漯河做网站推广WordPress的固态链接
  • 7天精通网站建设实录中国移动积分商城官网
  • 益阳网站建设哪里好在 wordpress 本地安装 wordpress
  • 红旗渠建设集团有限公司网站二手物品交易网站开发环境
  • 网站备案提交资料惠州网站建设制作推广
  • 企业网站的功能可分为前台和后台两个部分天津网
  • 浙江国泰建设集团有限公司网站做网站有什么注意事项
  • 网站 站外链接徐汇网站开发
  • 制定一个网站建设方案长沙seo
  • 无锡营销型网站app混合开发框架哪个好
  • 外贸网站友情链接网站文件权限设置
  • 网站的制作建站人北京集团网站建设
  • 如何做手机网站网络管理的五大功能