我必须在包含FORM的ColdFusion页面上修复安全漏洞,我们不希望用户能够在浏览器上按回+重新加载,并在提交之前查看填写了他们输入内容的字段形式。
该网站有一个.cfm页面,可以为另一个.cfm页面加载模板。第二个.cfm页面有FORM对象,它的ACTION是第一个.cfm页面。这是一个基本上会返回结果的搜索条件页面。
我尝试在第二个.cfm页面上更改FORM的ACTION指向一个temp.cfm页面,其中包含以下代码
<cfheader statuscode="302" statustext="Moved Temporarily">
<cfheader name="Location" value="firstpage.cfm">
<cfabort>
这样浏览器就无法使用“返回”返回原来的.cfm页面,其中填入的值...但是这并没有将我的FORM数据传递过这个temp.cfm页面而我的搜索是总是带来零结果。
答案 0 :(得分:1)
在您的操作页面处理表单后,使用CFLOCATION将浏览器重定向到另一个页面。这使用302重定向。
答案 1 :(得分:0)
您使用的是cfform吗?如果是这样,请删除表单上的PreserveData =“true”属性。或者您可以选择从表单输入中删除您的value =“#form.formfield#”。如果您可以发布几行表格,我们可能会提供更好的帮助。
您是否检查过表单页面是否正在缓存?
答案 2 :(得分:0)
禁用HTML的元标记中的缓存可行。根本不需要使用重定向。
E.g。用户点击退出链接,当用户点击返回时,它将是一个新请求,到那时,您可以检查SESSION是否已登录,如果没有,则重定向到登录页面。