标签‘web’

为你的Express应用增加CSRF防护

CSRF(Cross-site request forgery)跨站请求伪造,也被称为"One Click Attack"或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

众所周知,Web系统并没有绝对的安全,就比如我们公司年前遇到的情况,有些恶心网站通过网络抓包等手段,截取验证码发送接口,通过伪造请求实现了传入任意手机号并发送验证码的功能,虽然这看起来并没有什么用,但当这些不法分子拔了成百上千个接口后,就形成了一个疯狂的短信轰炸机,对于服务提供者,这些地下网站只要有人使用,就会不断得消耗短信费用,给企业带来不必要的损失。 查看更多...

XSS攻击的原理

近来又在论坛看到有xss的通知,由于概念模糊,就扫下盲,顺便转些东西过来了。

概念说明

Xss(cross-site scripting)攻击指的是攻击者往Web页面里插入恶意html标签或者javascript代码,当用户浏览该页或者进行某些操作时,攻击者利用用户对原网站的信任,诱骗用户或浏览器执行一些不安全的操作或者向其它网站提交用户的私密信息。
比如:攻击者在论坛中放一个看似安全的链接,骗取用户点击后,窃取cookie中的用户私密信息;或者攻击者在论坛中加一个恶意表单,当用户提交表单的时候,却把信息传送到攻击者的服务器中,而不是用户原本以为的信任站点。
诸如此类,唯一能完全杜绝xss攻击的方法,就是禁用script,img等,显然这是不靠谱的,用户需要丰富的页面内容;当然我们可以用一些方法预防xss攻击,尽量减少xss造成的危害。

XSS攻击的危害包括 查看更多...

GWT框架下进行Ajax开发基础实例

从事Web开发的人员一般都接触过,在我看来,Ajax的立意很好,我比较感兴趣的就是Ajax在某些应用场合可以有效降低服务器负载,可以局部刷新,所以可以说Javascript+XMLhttp是Web开发中不可或缺的好东西。Ajax虽好,但它这要求开发团队能熟练使用Javascript,这是一个障碍。目前状况是,团队的成员明显对深入学习Javascript的意愿不高。因此,各类简化了的Javascript框架出现了。

众所周知,Google产品设计面非常广,这里要介绍的就是Google发布的面向Java开发人员的Ajax快速开发工具——GWT(Google Web Toolkit),Ajax技术是当前开发Web应用的非常热门的技术,也是Web 2.0的一个重要的组成部分。然而如果用传统的方式Javascript进行Ajax开发的话,就会使得应用程序非常难以进行调试,从而降低了生产效率。

Google最近推出的GWT有望为我们解决这个难题,GWT是一个开发Ajax应用的框架,它使程序员用Java同时开发客户端和服务器端的代码。 查看更多...

JQuery Mobile框架使用技巧几则

个人认为,JQuery Mobile是一个非常好的框架,虽然我暂时没接触过Sencha Touch,但据说学习成本要比JQuery Mobile大很多,从目前Web应用UI框架选择少的情况来看,JQuery Mobile是最好的选择了。

JQuery本身就已经是一个成熟的框架了,JQuery Mobile作为它的附属品,继承了write less,do more的传统。但是作为一个新兴起的项目,毛病也是有不少。以下是一些常见问题的解决小技巧,希望做移动Web应用的朋友能用得着。

1.页面跳转时,当前页会先回到顶部,再跳转到目标页
相信在JQuery Mobile 1.1.0 版本出来之前,每个人都会遇到的问题。 查看更多...

Responsive Web design(响应式网页设计)

所谓Responsive Web design(响应式网页设计),通俗的说,就是可以自适应的网页设计。随着3G的普及,越来越多的人使用手机上网。移动设备正超过桌面设备,成为访问互联网的最常见终端。于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?目前各大网站、博客已经有向此方向改变的趋势,我们也得及时做下了解。

手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。 查看更多...

整合Spring与Struts1的三种方法总结

1.使用Spring 的 ActionSupport 。
2.使用Spring 的 DelegatingRequestProcessor 类。
3.全权委托。

无论用那种方法来整合第一步就是要为struts来装载spring的应用环境。 就是在 struts 中加入一个插件。struts-config.xml中

<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"></set-property>
</plug-in>

spring 的配置文件被作为参数配置进来。这样可以省略对web.xml 文件中的配置。确保你的applicationContext.xml 在WEB-INF目录下面 查看更多...

JavaWeb入门,servlet的常见错误汇总

最常见的路径错误,只要你深刻理解了下面的要点,你就能够顺利解决。

在访问时,url地址是: http://localhost:port/项目名称/web.xml中配置的里的内容
后面不用再加servlet的名字了 ,因为url-pattern里的就是访问servlet的相对路径,只要访问url中的和 配置文件中的 保持一致就行了...
另外,中的类名,如果该类是在一个包里的话,则应为:包名.类名。

常见错误:
500 是Server Error
400 是Clinet Error
300 Route change
200 OK

应答代码,虽然是SIP的但同样适用于HTTP,只是加了一些东西
查看更多...

JSP开发环境配置全解(网络篇)

前面收集整理了本地配置jsp开发环境的步骤,这里又为大家整理出了网络版,因为windows系统的配置跟本地大同小异,这里不再赘述,就为大家整理了目前常见的网页应用服务器Linux系统上进行配置的步骤。一般Web服务器是由apache提供的,这里就以apache为例,搭建JSP环境。目标对象可以是Linux的VPS或者独立主机,本次操作系统是RHEL6.1X64位系统,如果需要本地配置请参考小子整理的《JSP开发环境配置全解(本地篇)

第一步,安装java环境

注意:如果说,你的环境有JAVA开始的话,要下载JDK,如果只是简单的JAVA环境,只需要安装JRE就OK了。 查看更多...