PHP 重定向安全

标签 php security redirect

假设我有一个页面,无论出于何种原因,都需要定向到两个不同的处理页面。

因此,用户在页面 A 上提交表单,该表单会将他们带到页面 A.post,然后将他们带到页面 A.complete,最后将他们重定向到页面 A 并提交信息。

A.post 和 A.complete 是纯 php,数据库魔法正在发生,用户通常永远不会去那里,如果他们直接转到 A.post 或 A.complete,他们将看到一个空白页。

假设 A.post 通过 $_GET 中的查询字符串发送 A.complete 数据。用户是否可以在重定向发生时以某种方式转到 A.post 来查看这些 GET var,或者通过查看其页面历史记录?

希望我已经说清楚了,干杯!

最佳答案

请问为什么这不是“在幕后”完成的,并且 A.post 不只是 include('A.complete');

每次重定向时,您都有可能出现失误、用户干预或 header 被黑客攻击(意外输入)。

将您需要的任何逻辑保留在服务器上并且远离客户端。除非有充分的理由切换页面(也许这是域名转移),否则我会将所有处理保留在一个页面上。如果您确实需要切换,请确保您有某种形式的检查步骤,这样用户干预就不再是问题。

附注您立即的回答是"is"。 (Firefox 有 control+shift+K 因为我确信很多浏览器现在直接提供(或通过某种形式的插件) .)

关于PHP 重定向安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8510156/

相关文章:

php - 如何修复 htaccess ssl https 重定向?

javascript - 当alert()框打开并且在一段时间内没有点击 "OK"时如何重定向页面

javascript - 如何重定向到文件

javascript - 在 CodeIgniter 中使用 AJAX 提交带有图像的表单

带有 html 表单的 Php 页面在表单完成之前执行 php 代码

c - 格式化字符串漏洞利用——打开 root shell

c++ - Windows 安全中心 API

java - Shiro-Guice 过滤器链角色配置

php - set_time_limit() 和 ini_set ('max_execution_time' 之间的区别,...)

php - 将数组插入 MySQL