Cookie的目的是为用户带来方便,为网站带来增值,一般情况下不会造成严重的安全威胁。Cookie文件不能作为代码执行,也不会传送病毒,它为用户所专有并只能由创建它的服务器来读取。另外,浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB,因此,Cookie不会塞满硬盘,更不会被用作"拒绝服务"攻击手段。 但是,Cookie作为用户身份的替代,其安全性有时决定了整个系统的安全性,Cookie的安全...
本文实例讲述了JS判断是否360安全浏览器极速内核的方法。分享给大家供大家参考。具体分析如下: 360安全浏览器极速内核,在非360网站的navigator.userAgent是: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1",用的全是原生的谷歌浏览器的userAgent; 而360自己的网站的navigator.userAgent是 :"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML...
前言 在前后端分离的开发模式中,从开发的角色和职能上来讲,一个最明显的变化就是:以往传统中,只负责浏览器环境中开发的前端同学,需要涉猎到服务端层面,编写服务端代码。而摆在面前的一个基础性问题就是如何保障Web安全? 本文就在前后端分离模式的架构下,针对前端在Web开发中,所遇到的安全问题以及应对措施和注意事项,并提出解决方案。 跨站脚本攻击(XSS)的防御 问题及解决思路 跨站脚本攻击(XSS,Cross-site scripting)...
在一些应用中,有时我们提交表单内容如(密码)重要信息时,为了安全,需要阻止一些复制剪切和粘贴事件,今天做了一个简单的例子有关阻止复制剪切和粘贴事件: 代码如下:<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>pwd不能复制粘贴</title> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(function(){ $("input:password").bind("copy cut paste...
IE下的DHTML有各种MS$的私有特征,已经是众所周知。其中有个比较有趣就是:event.screenX和event.screenY,可以获得系统级别的鼠标位置坐标。 咋一听,其实也觉得没什么。屏幕上的坐标无非就是:浏览器客户区域里的坐标 + 浏览器窗口坐标 + 客户区偏移,仅此而已。 IE本身就可以通过event和screen对象得到各种屏幕和窗体位置有关的信息。 然而,真正诡异的事还没开始!按照标准的DOM模型定义,只有在触发某个事件的时候,才能从eve...
这里有个简单的测试页面:IE、火狐弹出"hello world",而chrome,safari,opera毫无反应。 以下是小段测试代码(刻意修改domain,让父页面和子页面为不同域页面): 1.父页面代码: 代码如下:<script> document.domain = "nunumick.me"; function doTest(){ alert(hello world); } </script> <iframe src="http://www.nunumick.me/lab/x-domain/webkit-test.html"> </iframe> 2.子页面代码: 代码如下:<script> try{ top.name; }c...
代码如下:document.write('<scr'+'ipt src="http://a.com/b.js" type="text/javascript"></scr'+'ipt>'); 直到被杀毒软件提示有恶意代码才发现这也是不安全的,汗…… 那就只好改成这样了: 代码如下:(function() { var s = document.createElement('script'); s.type = 'text/javascript'; s.src = 'http://a.com.cn/b.js'; document.getElementsByTagName('head')[0].appendChild(s); })();
一个是header插入问题。 另一个是\r\n问题。 我们来看这样一段代码: 1. test 2. <script> 3. //alert('<%=request.getParameter("username")%>'); 4. </script> 大家都能看到,这好像有个漏洞,但是已经被补上了,注释掉了。 那既然注释掉了,就不该有问题了么? 不是的。 再看这个URL http://localhost/index.jsp?username=kxlzx%0d%0a%0d%0aalert('kxlzx 很无奈吧? 生成了如下代码: test <script> //alert('kxlzx alert('kxlz...
DW调色板 var ColorHex=new Array('00','33','66','99','CC','FF') var SpColorHex=new Array('FF0000','00FF00','0000FF','FFFF00','00FFFF','FF00FF') var current=null function intocolor() { var colorTable='' for (i=0;i' colorTable=colorTable+'' if (i==0){ colorTable=colorTable+''} else{ colorTable=colorTable+''} colorTable=colorTable+'' for (k=0;k' } } } } colorTable='' +'' +'' +'' +''...
不显示上次登录的用户名 代码如下:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] "restrictanonymous"=dword:000000013389端口号修改reg文件 代码如下:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] "PortNumber"=dword:000021ee [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Te...
1、js 直接访问 Webservice不太安全吧,怎么样提高安全性??? 因为JS做的所有的行为,都能在浏览器中被看到。 有没有什么参数加密或者其它数据访问加密的方法??? 2、是不是后台直接输出HTML比较安全??? 然后Ajax请求后台输出的HTML,然后加载到页面中? 3、还有其它的方法吗? 回复讨论(解决方案) 有没有人回答呢??? js访问Webservice 和访问html页面在安全性上是一样的 安全性的问...
作为前端,一直以来都知道HTTP劫持与XSS跨站脚本(Cross-site scripting)、CSRF跨站请求伪造(Cross-site request forgery)。但是一直都没有深入研究过,前些日子同事的分享会偶然提及,我也对这一块很感兴趣,便深入研究了一番。 最近用 JavaScript 写了一个组件,可以在前端层面防御部分 HTTP 劫持与 XSS。 当然,防御这些劫持最好的方法还是从后端入手,前端能做的实在太少。而且由于源码的暴露,攻击者很容易绕过我们的防御手...
现代的 JavaScript 开发人员都喜欢 npm。GitHub 和 npm registry 是开发人员在查找特定软件包时常去的地方。开源模块为开发人员提供了很多可在项目中重用的功能,帮助他们提高工作效率。可以说,如果不是这些开源软件包,今天的大多数框架都不会以当前的形式存在。 一个成熟的企业级应用程序可能依赖数百个(如果不是数千个)软件包。通常的依赖包括直接依赖、开发依赖、捆绑依赖、生产依赖和可选依赖。 然而,人们通常忽视了存在软...
0x01 前言 最近看到一篇原型链污染的文章,自己在这里总结一下 0x02 javascript 原型链 js在ECS6之前没有类的概念,之前的类都是用funtion来声明的。如下可以看到b在实例化为test对象以后,就可以输出test类中的属性a了。这是为什么呢? 原因在于js中的一个重要的概念:继承。 而继承的整个过程就称为该类的原型链。 在javascript中,每个对象的都有一个指向他的原型(prototype)的内部链接,这个原型对象又有它自己的原型,直到nu...
显然,当您自己创建实际的字符串文字时,您自己反斜杠转义了双引号字符.var foo = "baz\"bat";就像处理少数其他控制字符一样,例如换行符和反斜杠.var bar = "baz\\bat\nmynew line and a \"quote\" ";但是,如果您只是将现有变量包装在引号中,即要将其提供给其他需要使用引号输入的系统,则会有些混乱. 显然,您必须转义字符串中所有可能的双引号字符.var doubleQuoteRe = /\"/g; var quoted = "\"" + unquoted.replace(escaper, '\\\"'...