-
避免穿透性测试需要注意的事项
web应用的开发中,安全性是个很重要的东西, 除去通常知道的 sql 注入,xss注入, csrf 攻击之外,在老外的网站还发现以下一些地方需要注意, 一般程序员要看这些英文应该是不成问题的
Date: 2014-02-02 View: 4130
-
spring mvc jackson 防止XSS 注入方法
spring mvc 做应用时,如果采用接受或者返回 json 格式的数据的时候,有可能会产生 XSS 注入, 对于XSS注入的一个常用方法,就是将接受到的数据进行 escape 处理。如果数量很少的方法,可以自己单独处理,但如果很多地方用到,最好是用公用的方法,一个简单的方法就是 扩展jackson 定制自己的 方法,对所有json 格式数据进行escape 处理.
Date: 2014-01-27 View: 9268
-
Django自定义校验,在 save 之前自动调用
一直以来, 用 django 做应用的时候,总是习惯用 django models 里面配置的类型以及校验方式检查客户端输入的数据是否合法,
Date: 2014-01-26 View: 3614
-
是否该祭奠死去的ZOPE, 曾经浪费了我一年的青春.
在python 下的web框架里面,很久以前有一个杀手级别的框架名字叫zope, 当时还是zope2, 至少在当时(很多年前吧) 我认为这个框架是很好的,而且比较有前途,原因有几点,至少有plone 这样的CMS工具,还有ERP5这样的开源程序。另外zope 支持在线开发,视图,数据库脚本开发维护,脚本处理各自独立,维护也很方便,开发也很方便,我能说出zope2 的一万个好,但是zope 还是离我们远去了, 也许是太重量级了, 入门没那么容易,也许是市场推广不行,但有一点,你不得不承认的就是 zope 的架构思想觉得是世界一流的,包括 twisted 还用到zope 的一些接口。zope3 的开发思路确实很好,但却偏离了轨道。发一个图纪念下曾经伴我度过一年岁月的ZOPE图片链接
Date: 2014-01-22 View: 4078
-
Hibernate4 No Session found for current thread原因
Hibernate4 与 spring3 集成之后, 如果在取得session 的地方使用了getCurrentSession, 可能会报一个错:“No Session found for current thread”, 这个错误的原因,网上有很多解决办法, 但具体原因的分析,却没有多少, 这里转载一个原理分析
Date: 2014-01-22 View: 72800
-
Hibernate 使用log4j,sl4j 记录日志并记录sql 语句参数的值
在Hibernate内部使用slf4j 来处理日志,所以在配置Hibernate日志的时候,slf4j 是必不可少的jar包, 严格说了slf4j 只是一个日志接口,可以由很多其它三方的 jar 来实现,比如用log4j实现等, 对于日志的配置应该都知道怎么配了,但是经常在日志中看到类似如下的语句:insert into stock (STOCK_CODE, STOCK_NAME) values (?, ?) , 里面全部是参数化的“?” 号, 然后这些值并没有打印出来,对于查看日志来说,还是有些不方便,怎么在日志中打印出这些参数值呢,是可以通过log4j 的配置做到的。
Date: 2014-01-20 View: 4883
-
Hibernate4 拦截器(Interceptor) 实现实体类增删改的日志记录
开发应用程序的过程中,经常会对一些比较重要的数据修改都需要写日志。在实际工作的工程中,这些数据都是存在表中的, 一个常见的做法是用触发器,在增删改的时候,用触发器将数据写入到另一张表中去,但个人不推荐这么做,原因如下:1. 如果有多个表,得写很多触发器。2. 触发器与数据库特性关联太紧,不同的数据库,虽然思路一样,但语法却不太一样。对数据库表操作的日志记录,完全可以利用Hibernate的Interceptor特性来实现,也就是拦截器。下面用一个具体的例子来说明如何使用Hibernate的Interceptor。
Date: 2014-01-19 View: 11696
-
Hiberante4 原生SQL查询 例子
用hibernate4, 完全用ORM 做项目,原则上可以,其实有时候没有必要, 我见过有的项目为了取一个表的一条数据,而且只有一个字段的查询,居然也用hibernate 去做,更绝的是,这个查询里面还配置了 one to many 等关联,而且FetchType也不是lazy, 有必要这么做吗?我不是完全否决hibernate ,但用查询的时候,要注意什么时候该用Hibernate orM 去查,什么时候该自己去写 native sql 去查。
Date: 2014-01-16 View: 4529
-
django 一次性上传多个文件, 批量上传
在用django 写文件上传的时候,从request.FILES['myfiles'] 获取到的文件始终只有一个, 但在HTML页面上明明用 HTML5 的 文件控件选择了多个文件,用的是CHROME 浏览器,一次可以选择多个文件上传。在 Pydev 开启debug模式,查看request 对象,发现上传的多个文件确实在request对象中,但为什么 用request.FILES['myfiles'] 却只能得到一个呢?
Date: 2014-01-14 View: 15143
-
Hibernate 使用 C3P0 连接池
连接池对于提高性能来说是个不错的选择, 特别是对于频繁创建连接关闭连接的程序来说,尤其如此,因为减少了没一次连接都需要创建连接和销毁连接的时间。hibernate 推荐使用 C3P0 连接池.
Date: 2014-01-13 View: 4310
-
java 自定义注解 (custom annotation)
最近几年写程序,越来越流行注解方式,比如 spring,hibernate 都从原来的xml配置方式转向了注解方式,原因在于写注解很方便,减少了XML 文件的配置,如果全部用XML 配置,一个大型的应用,怎么也得有成百上千的XML文件。那么怎么自定义类似于spring 的注解方式呢。
Date: 2014-01-12 View: 3806
-
java 获取HttpRequest Header 的几种方法
在开发应用程序的过程中,如果有多个应用,通常会通过一个portal 门户来集成,这个portal 是所有应用程序的入口,用户一旦在portal 登录之后,进入另外一个系统,就需要类似的单点登录(SSO). 进入各个子系统的时候,就不需要再次登录, 当然类似的功能,你可以通过专业的单点登录软件来实现,也可以自己写数据库token 等方式来实现。其实还有一个比较简单的方法,就是通过 portal 封装已经登录过的用户的消息,写到http header 之中,然后把请求forward 到各个子系统中去,而各子系统从 http header 中获取用户名,作为是否登录过的校验或者合法的校验。总结了几种处理http Header 的方法
Date: 2014-01-09 View: 10021
-
百度BAE想说爱你并不容易
在我的业余时间里我一直用python,django 做我自己想做的东西, 虽然没有什么成功出来, 但学东西不就是要在实际项目中学习吗?所以我会经常给自己立一个小项目, 然后去完成它,在做的过程中,你会遇到很多问题,也会有很多新的想法,这些都能促使你进步。我最开始玩python, 是为了给原来的公司做一个供应链系统,当时用了python,karriage 开发。后来才接触到 django
Date: 2014-01-08 View: 3307
-
spring mvc inteceptor 拦截器实现计算controller 的执行时间
最近在做一个程序的性能测试分析,UAT 压力测试感觉比较慢,但又没有系统的测试真正的瓶颈在什么地方,客户也不愿意花时间去专业的测试,就用chrome浏览器,看timeline 测试,很笨吧,没办法,客户就这么干,期间也用过jmeter测试,但也只是说结果不理想,也没给出具体的参数。一个真正好的完整的测试,应该包括从发起请求开始,DNS 解析,路由寻址时间,http server 响应时间,应用程序处理时间,包括数据库执行时间,以及IO 分析,当然网络带宽也要分析。由于我们是负责程序部分的,所以程序执行时间部分的操作日志由我们自己来负责分析,用到spring mvc写的程序,所以理所当然的想到用spring inteceptor 来实现,具体看每个controller 的执行时间是多少,这中间包括了数据库部分。
Date: 2014-01-07 View: 6406
-
Hibernate4 一对一双向主键关联测试例子(xml 配置方式)
一对一映射是最基本的对象之间的关系之一,严格的说来一对一有一下几种对应关系:1, 一对一 单向关联(分主键,外键两种)2, 一对一 双向关联(主键,外键两种)3, 还可以采用中间表方式来实现,但一般不使用,先直接看看双向主键关联的测试.
Date: 2014-01-06 View: 3900