1.
操作私有函数
Public string updatePassword(string custID,string newPassword)
2.
出现竞争情况
可能改变操作逻辑
异步操作意味着多线程的操作,可能出现竞争、死锁。
3.
秘密不经意的推入客户端代码
所有的客户端代码都能被看到和分析。
4.
在客户端不要暴露没有利用的服务器端函数
5.
大大增加了注入攻击的容易度
SQL注入和XPath注入
Sometimes the safest way to do Ajax is not to do Ajax.
1. 应用相对小或者相对是静态的时候。
2. 页面>=90%要刷新的情况,可用一次完整的页面请求更新。
3. 除非在等待服务器返回响应这段时间内,用户能做一些有用的东西。否则不要采用异步架构增加复杂度。
http://www.slideshare.net/amiable_indian/pascarelloinvestigating-javascript-and-ajax-security/
The XHR Object
1. The Gecho/Safari/IE7 Object Construstor
Req = new XMLHttpRequest();
2. The ActiveX for IE5 to IE6
Req = new ActiveXObject("Microsoft.XMLHTTP");
Or
Req = new ActiveObject("Msxml2.XMLHTTP");
Get
方法在
IE
永远是有缓存的,如果参数没有改变的话,
IE
直接从缓存中读取数据,
post
则直接到服务器中获取数据。