Ani*_*n J 8 architecture security xss csrf csrf-protection
我有一个nginx服务器提供纯HTML和JS文件.
然后,js代码从API服务器调用各种REST API到GET/POST数据.
如果nginx收到对/ api/location的请求,它会将请求转发给另一个处理所有API的服务器.这个api服务器是用Ruby on Rails构建的.
由于我的所有纯HTML页面都是由nginx直接提供的,因此在呈现时我无法进行服务器端会话.
我该怎么做才能防止CSRF攻击?
CSRF令牌的要点是要求攻击者从您的域中读取值以发送请求。
因此,您可以在API中拥有单独的端点,该端点仅返回CSRF表单令牌。
由于同源策略,攻击者将无法读取令牌(出于无法从HTML源读取令牌的相同原因),因此您将很安全。
这具有需要额外的HTTP请求的缺点。
另外,请确保响应无效的Javascript,否则攻击者可以将其作为<script>标记运行,并使用原型和属性技巧读取值