我正在浏览我的应用程序,试图尽可能多地保护它,这让我开始思考。我总是验证用户的输入并且总是清理输入,例如,如果我有一个“生日”字段,我会在将其放入数据库之前确保它是一个有效的日期。但是我的数据库中也有像“passwordresettoken”这样的字段,如果用户请求,我的代码会生成这个字段。
现在在我的普通用户个人资料页面上,我显然没有名为“passwordresettoken”的字段,所以我不验证或清理它,因为它不应该存在于将要传递的表单中。事实上,它永远不应该被传递,因为它不是用户输入的东西。
所以我的问题是,是否可以欺骗输入字段?他们是否可以编辑我页面上的 HTML 以包含密码重置令牌字段,然后在传递表单时造成一些损害?