CFWheels:重定向到 URL 并隐藏参数

CFWheels: Redirect to URL with Params Hidden

我正在使用带参数的 redirectTo() 函数重定向到另一个页面,其中包含 url 中的查询字符串。出于安全目的,这看起来并不吸引人,因为用户可以更改 url 中的参数,从而改变插入到数据库中的内容。

我的代码是:

redirectTo(action="checklist", params="r=#r#&i=#insp#&d=#d#");

这附近有没有?我没有使用表单,我只是想重定向,我希望目标 action/Controller 知道我传递的内容但不在 url.

中显示

您可以混淆 URL 中的变量。 CfWheels 让这变得非常简单。

您所要做的就是在 config/settings.cfm 文件中调用 set(obfuscateURLs=true) 以打开 URL 混淆。

我确信这适用于 linkTo() 函数。我希望它也适用于 RedirectTo() 函数。我现在没有设置来检查它。但是,如果 RedirectTo() 不起作用,您可以使用 obfuscateParam()deObfuscateParam() 函数来为您完成工作。

注意:这只会让用户更难猜测值。它不加密值。

要了解更多信息,请阅读文档 configuration and defaults and obfuscating url

针对这种特殊情况的更好方法是将参数写入 [flash]。1 flash 与 Rails 上的 Ruby 完全相同或 ASP.Net 中的 ViewBag。它将数据存储在会话或 cookie 变量中,并在下一页加载结束时删除。这可以防止您像编码不到一年的人那样回发长查询字符串。 ObfuscateParam 仅适用于数字并且非常不安全。任何高级用户都可以轻松地进行反混淆,对于那些以窃取数据为生的人来说更是如此。