@tanlianming 不经常使用QQ,有问题的话可以直接邮件给我
问题还有,没有仔细看,有时间的话,我再仔细研究下
举个例子,一个很严重的问题,存在泄露用户邮件地址的情况(或者说对于某些ajax请求提供的数据过多)
1、GET请求 用户信息页面,点击 此人(Ta的关注)
以此为例,
http://www.neitao.me/User/profile.aspx?UserId=12、发现有个GET请求很可疑
http://www.neitao.me/_ashx/GetAttentionUserListByUserId.ashx?UserId=1&s=20&p=1&dt=13992996367503、响应数据居然公开了用户的完整邮件地址,如下
{"Lists":[{"UserId":"15","Portrait":"/UploadFile//UserFiles/1/15/avatar/20140304113241z3v1lqvb_thumbnail.jpg","NickName":"puyuzi","UserEmail":"完整址址@
staff.tianya.cn","CompanyName":"天涯社区","Position":"产品锦鲤","FansCount":"10","FocusCompanyCount":"6","FocusThemeCount":"2","FocusUserCount":"18","CreateTime":"2014/3/4 13:26:37"},{"UserId":"2","Portrait":"/UploadFile//UserFiles/1/2/avatar/20140311213958oppw521s_thumbnail.jpg","NickName":"冲冲","UserEmail":"完整址址@
neitao.me","CompanyName":"内淘网","Position":"","FansCount":"7","FocusCompanyCount":"4","FocusThemeCount":"0","FocusUserCount":"10","CreateTime":"2014/3/4 11:25:20"}],"counts":"2"}
(其中真实的地址用“完整地址”汉字替代了)
4、查看了下代码,是通过js拼接的html,里面仅仅只用到了头像地址、昵称和uid,而响应的请求中却包含了诸多信息,这些信息对与此功能完全用不到
for (var i = 0, len = list.length; i < len; i++) {
if (list[i].UserId == myid) {
} else {
_upic = "";
_upic = list[i].Portrait != null ? list[i].Portrait.replace("_thumbnail", "_bmiddle") : "";
_Html += '<li><a href="/User/profile.aspx?UserId=' + list[i].UserId + '">';
_Html += '<img src="' + _upic + '" /></a>';
_Html += '<a href="/User/profile.aspx?UserId=' + list[i].UserId + '">' + list[i].NickName + '</a>';
_Html += '</li>';
}
}
建议:楼主的站,ajax请求居多,建议按需提供,对于ajax请求进行排查,在响应前过滤掉敏感和不需要的信息,这是一个例子,其他地方还有,你们自己查下吧
上次说的,后端一定也要进行参数类型和完整性验证,不知道是否改善