有A、B两台服务器
- A、B两台服务器都对外开放提供浏览
- A服务器对外提供有限制的操作,B服务器不对外提供任何操作
- 用户可以在A服务器上通过POST向B提交请求进行处理
问题:B如何判断接收到的请求是一个正常的请求
我想过这么几个情况
- 通过IP判断,可以伪造
- 来路判断,可以伪造
- post一个字段带有加密验证,直接浏览器查看请求的字段就破解了
回复内容:
有A、B两台服务器
- A、B两台服务器都对外开放提供浏览
- A服务器对外提供有限制的操作,B服务器不对外提供任何操作
- 用户可以在A服务器上通过POST向B提交请求进行处理
问题:B如何判断接收到的请求是一个正常的请求
我想过这么几个情况
- 通过IP判断,可以伪造
- 来路判断,可以伪造
- post一个字段带有加密验证,直接浏览器查看请求的字段就破解了
生成一个随机的token
,给B
B每次发post请求的时候都要在header里携带这个token
, A server 要验证请求里是否是正确的token
- 不要使用root权限(包括你的web服务软件,数据库)
- 对于不合法的操作自动跳转
- 关闭文件执行与写入权限,尽量只读
- 用户输入的合法性验证。
例如:文本xss过滤.数据库查询项是否可以使用%00截断绕过,是否可以使用;
绕过进行多语句查询
other:如果你使用的是商业or开源系统记得使用第三方服务。(安全宝)