Arganzheng's Blog

stay hungry, stay foolish

C# Url Encoding的一些问题

最近API的C#版本SDK又出问题了,总是报sign计算错误。Sign计算问题一般是源串生成(参数排序、URL Encoding之类的)不一致,另一个就是签名算法(一般是HMAC或者MD5)不一致。首先看一下原串生成是不是有问题。 用Java和C#对同样的请求参数进行源串生成,发现果然不一样。对比了一下,发现是由于左右括号引起的。 public static void main(Stri...

移除SVN锁

现在还有用SVN悲观锁的。。赶紧移除吧 svn propdel svn:needs-lock -R -q 要移除锁设置的工程目录 TIPS 在这之前,你可能需要先抢占锁: Tortoise==>Check For Modifications==>sell all==>Break Lock==>Commit

卓有成效的程序员——windows篇

windows下如何查看端口被哪个进程占用 比如要找出哪个进程占用了80端口: Here is netstat command & output to find which process is holding port 80. C:\Users\arganzheng>netstat -nao | findstr "0.0.0.0:80" TCP 0.0.0.0:8...

卓有成效的程序员——windows篇

windows下如何查看端口被哪个进程占用 比如要找出哪个进程占用了80端口: Here is netstat command & output to find which process is holding port 80. C:\Users\arganzheng>netstat -nao | findstr "0.0.0.0:80" TCP 0.0.0.0:8...

JVM编码

package java.nio.charset; public abstract class Charset implements Comparable<Charset>{ private static volatile Charset defaultCharset; /** * Returns the default charset of t...

maven学习笔记

maven的核心概念 maven的核心概念 坐标 依赖 仓库 生命周期 插件 继承和聚合 仓库 Maven中的仓库用来存放生成的构建和各种依赖。 本地仓库 远程仓库 中央仓库 私服(内部仓库) 其他重要的仓库 仓库和镜像 一般来说公司都会有一个私服,然后我们可以在本地的sett...

如何在系统启动时完成资源加载

背景 在我们的应用中,经常有这样的场景,就是需要在应用启动的时候就预先加载某些资源,如果加载失败,应用都不需要启动了。这些资源的加载,我们都会把他们封装在一个类的loadResource方法中。关键是这个方法如何在系统初始化的时候被调用。一般有两种方式。 法一:通过Spring触发loadResource方法 如果这个类是通过Spring加载的,那么可以让Spring初始化之后直接调用...

XSS注入防御

成因 会提交有害参数,作用是把一些跳转,js等代码放进页面中执行,一般参数都会先闭合一些标签,然后加入有害的代码,比如下面的参数:back_text=%22%27%3E%3C/title%3E%3Cimg%09src=javascript:alert%28/XSS/%29%3E,这个其实是 "'></title><img src=javascript:alert(/...

CSRF防御

什么是CSRF攻击 这个网上一大把解释,直接google就可以了。这里就不赘述了。 如何防御 目前对CSRF的基本都是一种处理方式——使用token校验。简单来说,就是对于每一个需要做CSRF检查的请求(一般是POST请求),服务端会根据一定的策略分配一个token(或者前端js生成。比较少见,因为这样token的算法暴露了。当然如果token需要的输入攻击者拿不到的话,问题不大。),...

Spring使用@value annotation注入property变量和环境变量

@Value("#{welife.rpc.sendCoupon.api}") private String sendCouponApi; @Value("#{systemProperties['env']}") private String env; Spring 3.0之后支持$语法,即@Value("${welife.rpc.sendCoupon.api}...