我正在使用Node.js编写一个图片上传服务。付费客户将能够向我在服务器上设置的端点发送图像文件。但是,每次请求到达时,我需要确认它确实是付费客户发出的请求。我考虑让客户提供他们的域名,然后我只需检查引用标头即可。但是,有人可以轻松地欺骗引用标头并在未付款的情况下使用我的服务。SaaS开发人员如何应对这个技术问题?是否可能在不要求客户拥有一些服务器端代码的情况下解决此问题?
我正在使用Node.js编写一个图片上传服务。付费客户将能够向我在服务器上设置的端点发送图像文件。但是,每次请求到达时,我需要确认它确实是付费客户发出的请求。我考虑让客户提供他们的域名,然后我只需检查引用标头即可。但是,有人可以轻松地欺骗引用标头并在未付款的情况下使用我的服务。SaaS开发人员如何应对这个技术问题?是否可能在不要求客户拥有一些服务器端代码的情况下解决此问题?
您无法使用引荐头部对浏览器进行身份验证。
如果您想要对个人进行身份验证,那么您可能需要一个登录系统,让他们提供凭据(用户名/密码),并将这些凭据与您允许的用户库进行比对。如果他们通过了验证,那么您就在浏览器中设置某种类型的 cookie,以指示他们是合法用户。随后来自该用户的请求将包含该 cookie,您可以在每个请求中检查它。
Cookie 需要是您创建的内容,您可以验证它,而且不容易被猜测或伪造(例如从服务器生成的会话或加密令牌)。通常情况下,您会在一段时间后设置 Cookie 的过期时间,以便用户必须重新登录。