因此,通常认为像PUT和DELETE这样的HTTP方法是不安全的。
但是,建议对RESTful API使用PUT和DELETE方法。
为什么这些方法PUT和DELETE不被认为对RESTful API不安全
答案 0 :(得分:2)
它们被认为是不安全的,因为Web服务器的默认行为会直接影响服务器文件系统上的文件 - 允许执行代码攻击。
RESTful服务不会(必须)根据原始请求创建文件。
内部 API - 受到私有LAN的保护。它只能被其他内部(可信)工具访问。
同样,防火墙内部或外部API仅接受来自某些IP(可信服务器)的请求。
代理服务器可以处理加密和用户身份验证以及授权,然后将请求转发给RESTful服务。
如果PUT会在服务器上创建非常不安全的可执行文件** - 因为代码注入/可执行注入的风险......
...但是在接收PUT或DELETE操作时,我们不是在谈论文件管理本身。我们讨论的是一个特定的处理程序代码,它会分析请求并执行您告诉它处理数据的任何事情(例如:将其放入数据库中)。
**特别是因为在资源上执行HTTP PUT之后(在RESTful上下文中),人们可能希望能够访问在同一资源上执行HTTP GET(意味着资源可以直接访问)。