我正在使用node.js和express4
在我的应用程序中,用户可以撰写帖子并为其指定标题。我将为每个帖子生成一个唯一的 ID。
然后可以通过以下网址访问帖子:domain/posts/ID-of-the-post/title-of-the-post 服务器端,解析 url 后,我只使用帖子的 ID 来正确查询我的数据库。 我从不使用网址中的帖子标题,因为我从数据库中安全地获取了它。
基本上,网址 domain/posts/A-valid-ID-of-a-post/ANYTHING 指向帖子的页面。
我的问题是:这危险吗?攻击者可以利用这个吗? 如果是,我该如何保护自己?
注意: 我受到了针对 html 注入(inject)的保护,因此我的问题仅与 URL 有关。
最佳答案
你可以使用它,事实上我见过很多网站/论坛和stackoverflow本身都使用这种方法,例如查看网页的当前url:
stackoverflow.com/questions/25763180/is-it-dangerous-to-display-user-input-in-url
这并没有那么危险,只要记住它是未经 sanitizer 的输入并相应地对待它 - 潜在的输入攻击(实际上,总是这样做!)
关于node.js - 在 url 中显示用户输入是否危险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25763180/