Consider “trustworthiness” of IPs
Arcjet support several platforms safely: Firebase, Fly, Render, Vercel.
On other platforms, several headers are used.
Some of these headers are known untrustworthy: `true-client-ip` on Akamai can be set by malicious users.
Some of these headers could be: `fastly-client-ip` is safe if the user configures Fastly correctly, otherwise can be set by malicious users (https://github.com/arcjet/arcjet-js/issues/5414#issuecomment-3527192138)
But even on a platform such as DigitalOcean (`do-connecting-ip`), `@arcjet/ip` *also* considers other IPs that can be set by malicious users.
By definition, a client IP is not trustworthy, but it is still good prefer more trustworthy IPs.
It is also good to do *something* instead of bailing when a user deploys to some exciting new platform.
Recently, users have been happy when Arcjet swiftly adds support for what they deploy to, and users appreciate it that Arcjet is on top of security. This may help that.
Given these points, it may be good to surface whether something is trustworthy or not. Potentially infer what platform users may run on. Potentially surface that that platform needs to be configured correctly. Point to docs / issues / contact page for new platforms.
1 条评论