![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
WEBUI
文章平均质量分 60
IT农夫
古人学问无遗力,
少壮工夫老始成。
纸上得来终觉浅,
绝知此事要躬行。
展开
-
JS的继承是从一个对象原型向另一个对象原型的简单拷贝
JavaScript支持面向对象,但是其实现方式是通过简单的从一个对象原型向另一个对象原型的拷贝的方式来实现的。实例如下:var BaseCls={};BaseCls.getName=function(){ return "base class";}var ChildCls = {};ChildCls.getName = BaseCls.getName;BaseCls原创 2012-12-31 14:20:46 · 3965 阅读 · 0 评论 -
一个反射型XSS例子的解析
我们在访问一个网页的时候,在URL后面加上参数,服务器根据请求的参数值构造不同的HTML返回。如http://localhost:8080/prjWebSec/xss/reflectedXSS.jsp?param=value...上例中的value可能出现在返回的HTML(可能是JS,HTML某元素的内容或者属性)中,如果将value改成可以在浏览器中被解释执行的东西,就形成了反射型X原创 2013-12-17 15:43:23 · 32709 阅读 · 0 评论 -
Expires,Cache-Control,Last-Modified,ETag
Expires、Cache-Control、Last-Modified、ETag都是在http response的返回header中用来控制浏览器客户端缓存行为的。1.Expires在HTTP/1.0中已经定义,Cache-Control:max-age=xxx在HTTP/1.1中才有定义,为了向下兼容,仅使用max-age不够。当某一个web资源被访问后,会被浏览器缓存,在以后对原创 2013-11-27 14:59:28 · 11623 阅读 · 0 评论 -
web安全之跨站请求伪造
CSRF(Cross-site request forgery),中文名称:跨站请求伪造.因为这个不是用户真正想发出的请求,这就是所谓的请求伪造;因为这些请求也是可以从第三方网站提交的,所以前缀跨站二字。CSRF发生的场景如下图所示:用户登录访问了一个受信任的站点,在用户还没有退出登录的时候,打开另外一个tab页,访问了网站B。在B网站中,有CSRF攻击代码访问网站A。原创 2013-12-23 14:34:20 · 29894 阅读 · 4 评论 -
html页面中访问外站资源的时候协议的问题
当一个网页引用外站的资源的时候,比如JavaScript文件或者CSS文件,最好不要在前面加访问协议,如在 http://www.a.com的页面上引用了一个www.b.com/xxx.js文件。如果写成那么当A站点切换到https协议的时候,由于某些浏览器的安全限制,在https的页面上不允许访问http资源,那么将获取不到这个js文件。最好的做法是在代码中写成如下的形式原创 2014-01-08 15:17:57 · 2982 阅读 · 1 评论 -
HTTP基本认证(Basic Authentication)的JAVA示例
HTTP基本认证工作原理以及用JAVA如何实现原创 2014-06-04 14:22:11 · 72167 阅读 · 2 评论 -
中文字符的值在web中提交的问题
URL中出现汉字的情况有两种,一种是汉字出现在URL的路径部分,一种是汉字出现在URL的参数部分。第一种情况依赖于WEB服务器和操作系统是否支持,但是在做WEB应用的时候应该避免这种做法。第二种情况的时候必须采用编码后传参,接受时解码的方式完成参数值的获取。参数可以通过表单提交,浏览器地址栏输入,URL链接点击。下面的这些测试是在tomcat中进行的先来看通过表单post提交的原创 2013-12-20 16:33:31 · 2059 阅读 · 0 评论 -
onload事件和js的defer设置
onload事件在html文档中所有的节点都下载完成后执行,包括js,css,图片的资源完全下载后才执行。如果js 设置了defer之后,js的解析执行在浏览器生成了html文档后执行,不包括图片的资源下载如果js没有设置defer,将一个js放在head加载,会阻塞后面的内容加载。如下面的例子如果将defer=true去掉,直到x1.jscript和x2.jscript下载完成后,后面的aler原创 2014-12-26 16:56:42 · 3132 阅读 · 0 评论 -
CSS布局中的几个重要属性,width,height,margin,padding,float,position
首先来看看CSS中的盒子模型,如下图:我们可以把它想像成现实中上方开口的盒子,然后从正上往下俯视,边框相当于盒子的厚度,内容相对于盒子中所装物体的空间,而填充呢,相当于为防震而在盒子内填充的泡沫,边界呢相当于在这个盒子周围于其他物品要留出一定的空间。是不是这样就很容易理解盒模型了。所以整个盒模型在页面中所占的宽度是由左边界+左边框+左填充+内容+右填充+右边框+右边界组成,而css样式原创 2013-03-22 16:14:44 · 3314 阅读 · 0 评论 -
JS和JAVA中常用的编码转码函数
js中escape,encodeURI,encodeURIComponent函数和unescape,decodeURI和decodeURIComponent函数的功能1.escape方法对String对象编码,escape方法返回一个包含了charstring内容的字符串值(Unicode格式)。所有空格、标点、重音符号以及其他非ASCII字符都用%xx编码代替,其中xx等于表示该字符原创 2013-12-17 16:42:47 · 17794 阅读 · 1 评论 -
JS 函数中的arguments,call,apply
JS 函数定义的时候的参数和调用时的关系,call,apply,arguments的简单例子原创 2015-10-20 14:23:22 · 3582 阅读 · 0 评论 -
JS通过prototype实现继承的简单示例:
JS通过prototype实现继承的简单示例:var MYJS={};MYJS.extend=function(baseClass, prop) { if (typeof (baseClass) === "object") { prop = baseClass; baseClass = null; } // 本次调用所创建的类(构造函数) function F() { }原创 2015-10-20 16:38:52 · 2767 阅读 · 1 评论 -
JS的this关键字
JavaScript中的this关键字是一个难以琢磨的概念,是一个依赖于它的执行环境而被解析的关键字。1,在JS文件中直接alert(this);this代表的是window,当前的执行环境是在JS的顶层域里面。2,下面这个例子中this指向的是调用该方法的对象,button标签。 function test() { alert(this.value); this.sty原创 2013-01-01 16:21:34 · 3476 阅读 · 0 评论 -
JS之prototype基础篇
JavaScript语言是一个动态语言,其动态性之一就体现在可以通过prototype来为已经定义好的的"类"添加属性和方法。这里来了解一下prototype的基础知识。prototype是"构造函数"的属性,不是实例的属性.function HiClass() { this.sayHi = function(){ alert("hi"); }}var obj = new H原创 2013-01-01 12:48:19 · 5407 阅读 · 0 评论 -
JS之事件基础
由于dom标准和浏览器是在并行"进化"的,在Dom3标准定案的时候(2004年),浏览器已经开发了多个版本了。IE4是在1995年完成的,Mozilla也已经开发了。造成的结果是对dom标准的事件支持在不同浏览器是有差异的。标准的Dom把事件模型分成捕获性事件和冒泡型事件。捕获型事件:事件传递从最外层的元素传递到最内层的元素,最外层的元素先响应。冒泡型事件:最内层的元素先响应,事件原创 2013-01-09 16:00:11 · 2644 阅读 · 0 评论 -
解析如何防止XSS跨站脚本攻击
本文为大家提供了简单的实战模式以防止XSS跨站脚本攻击通过output escaping/encoding发动攻击。虽然存在大量跨站脚本攻击者,不过只要遵守本文提供的几个规则就能有效抵御XSS跨站脚本攻击。 这些规则适用于所有不同类别的XSS跨站脚本攻击,可以通过在服务端执行适当的解码来定位映射的XSS以及存储的XSS,由于XSS也存在很多特殊情况,因此强烈推荐使用解码库。另外,基于XS转载 2013-12-11 20:28:51 · 2790 阅读 · 0 评论 -
HTTP请求和响应简介
http请求由三部分组成,分别是:请求行、消息报头、请求正文请求行以一个方法符号开头(GET,POST..),以空格分开,后面跟着请求的URI和协议的版本.HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文下图是一个http post请求和响应的截图:上图是一个表单提交到一个servlet,servlet返回一个响应的截图表单的代码如下userpassw原创 2013-11-29 12:15:05 · 1860 阅读 · 0 评论 -
JS构造函数与原型
JavaScript中定义"类"的时候可以通过构造函数和原型的方式来实现,它们之间有何区别和利弊呢?首先来看一个通过构造函数实现类定义的例子:function Car(color,model,drivers){ this.color=color; this.model=model; this.drivers=drivers; this.blar = function(){原创 2013-01-01 12:03:05 · 14151 阅读 · 0 评论 -
JavaScript继承详解
收集了对JavaScript继承讲解比较不错的文章http://www.cnblogs.com/sanshi/archive/2009/07/08/1519036.htmlhttp://www.cnblogs.com/sanshi/archive/2009/07/08/1519251.htmlhttp://www.cnblogs.com/sanshi/archive/2009/07转载 2013-01-03 15:03:19 · 1247 阅读 · 0 评论 -
如何遍历一个JS对象的属性和方法
示例代码如下:testExtjs4 for (pro in document){ document.write("document."+pro+"="+document[pro]+""); }示例2:testExtjs4 function Test(){ this.prop1='val1'; this.prop2='val2';原创 2013-01-03 21:32:49 · 6244 阅读 · 0 评论 -
JS之匿名函数与闭包
匿名函数是指没有指定函数名称的函数,先来看下面的例子:想想看结果是什么?var a = function(t) { return t; }(1 + 2).toString();alert(a); 这里就是定义了一个匿名函数,传入参数(1+2)并且执行,然后赋值给变量a。因为在第一行没有写分号.看下面的例子你就理解了var a = 1 + 3; alert( a);闭包原创 2013-01-07 16:37:19 · 9313 阅读 · 0 评论 -
JS中style.display和style.visibility的区别
在JS中可以通过设置style.display或者style.visibility属性来控制元素是否显示,在style.display=block和style.visibility=visible的时候,元素被显示,在style.display=none和style.visibility=hidden的时候,元素被隐藏。它们之间最大的区别是通过style.display=none隐藏的时候,元素不原创 2013-01-10 14:08:45 · 8362 阅读 · 1 评论 -
HTML和CSS的关键:盒子模型(Box model)
http://www.poluoluo.com/jzxy/200809/44948.html原文:http://jorux.com/archives/property-4-if-you-love-css/本文作为属性篇的最后一篇文章, 将讲述HTML和CSS的关键—盒子模型(Box model). 理解Box model的关键便是margin和padding属性, 而正确理解这两个属性转载 2013-03-21 15:36:58 · 2297 阅读 · 0 评论 -
服务端(apache)解决Javascript跨域问题
服务端(apache)解决Javascript跨域问题由于前端解决跨域问题的局限性比较大,对于 Ajax 跨域或是 iframe 跨域,建议用服务器端解决方案。此方案的原理是接受客户端发来的请求后,经由本域服务器代理向目标服务器发送请求,并将响应数据返回给客户端。用 apache 的 mod_proxy 模块开启反向代理功能来实现:1 修改 apache 配置文件转载 2013-05-01 11:49:13 · 1955 阅读 · 0 评论 -
一个检测浏览器名称,版本号的js
检测览器名称,版本号,操作系统var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) ||原创 2013-05-03 11:55:04 · 1502 阅读 · 0 评论 -
在浏览器绘制图形入门
一个ie下的vml和firefox,opera,safari支持的svg的入门示例1,IE下的vml v\:* { Behavior: url(#default#VML) } Hello world!Hello VML! 2 SVG原创 2013-05-02 17:07:57 · 1355 阅读 · 0 评论 -
eclipse里报:An internal error occurred during: "Building workspace". Java heap space)
当在eclipse中的web工程中增加了extjs4,出现An internal error occurred during: "Building workspace".Java heap space 错误。解决办法1:把extjs4的工程安装包不要放到web工程中就ok或者建议直接用myeclipse直接导入的exjts4包,就没问题。解决办法2:导入ExtJS包,这样会卡死转载 2013-06-02 15:46:44 · 40952 阅读 · 7 评论 -
演示一个最简单的JavaScript客户端验证的漏洞
很多时候我们都有JavaScript在客户端做验证,比如必填选项,格式验证等,如果不合法则不让表单提交。但是对于重要的信息如果不在服务器端再做一次验证,是很有风险的。下面的简单示例证明了这一点。HTML文件如下,页面上有两个文本输入框,一个的id是name,一个id是sechole。JavaScript在客户端对name做检查,简单起见,这里的验证规则是必须填值。验证通过后提交到服务器端的一个原创 2013-05-14 12:29:17 · 2930 阅读 · 0 评论 -
点击劫持和图片覆盖劫持
点击劫持是一种视觉上的欺骗手段。攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面上的某个按钮或者链接。通过调整iframe 页面的位置,可以诱使用户恰好点击在iframe 页面的一些功能性按钮上。CLICK JACK!!!iframe { width: 900px; heig原创 2013-09-24 16:08:52 · 4040 阅读 · 0 评论 -
Web应用中session的实现机制
本文简单介绍一下session的实现机制,示例的片段代码为java环境。在客服端浏览器第一次访问一个URL的时候,服务器在返回的httpresponse header中会带上如下参数告诉浏览器将session的id号作为cookie保存。如下:Set-Cookie:JSESSIONID=98BF5B4E64D1EEFD7477A9544A695336; Path=/prjWeb原创 2013-11-28 12:19:39 · 2354 阅读 · 0 评论 -
HTTP协议详解
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。转载 2013-11-29 12:13:10 · 2060 阅读 · 0 评论 -
no-cache,max-age=0,nostore区别及304原理
稍微了解HTTP协议的前端同学,相比对Cache-Control不会感到陌生,性能优化时经常都会跟它打交道。常见的值有有private、public、no-store、no-cache、must-revalidate、max-age等。网上总结挺多的,但是,系统好理解确实很少浏览器缓存机制在说这个服务如何写之前我们先要明白浏览器缓存到底是个啥。来看下这个简略示意图:可以看到浏览器的...原创 2019-09-06 11:50:45 · 10880 阅读 · 3 评论