替代GET和POST方法从表单发送/接收数据

时间:2011-06-24 05:58:15

标签: php web-applications mod-rewrite http-post

我正在尝试用PHP构建一个Web应用程序。

但我不想使用GET& POST方法,因为用户应该知道我们发送数据的内容和方式,只需查看html结尾即可。当然,我们总是可以对数据进行清理,但我仍然希望将数据格式保留给自己。

是否有上述替代方案......

可以使用url完成某些操作,因此不会显示数据的类型和格式。我在这方面看到了一些与mod重写相关的内容。

如果我走在正确的轨道上,请建议并告诉我。

4 个答案:

答案 0 :(得分:3)

你没有走上正轨。

你无法真正隐藏数据的发送方式,因为浏览器必须以某种方式知道,如果它知道,可能的入侵者就会知道。像往常一样使用GET和POST,过滤和清理用户数据。这是你能做的最好的事情。

您甚至可以更改网址,但浏览器仍会拥有该网址,可能的入侵者也是如此。

如果您想要更安全的东西,HTTPS似乎是一个不错的选择。

答案 1 :(得分:2)

GET和POST是您唯一的选择。此外,您的脚本不应该依赖于用户对安全性如何工作的无知,这就像让您的房子解锁,理由是人们通常不会尝试随机门来查看它们是否已解锁。默默无闻的安全注定要失败。

答案 2 :(得分:1)

与其他人放在这里相反,你可以在某些方面做你喜欢的事,虽然它不会达到你的目标:

PUT / SEARCH / DELETE是RESTful接口的所有概念

如果你想要有创造力......创建一个名为HIDEFROMUSER的新文件并配置你的网络服务器和PHP脚本以在标题中接受这个。注意,大多数,如果不是所有的浏览器都不支持这个,但jquery ajax调用应该...

 header('Allow: GET, HEAD, POST, DELETE, HIDEFROMUSER', true, 405);

 $accept = $_SERVER['HTTP_ACCEPT'];
 // does $accept equal one of your allowed methods?

最后$yourHiddenWayOfDoingThings = fopen('php://input', 'r');

人们仍然会看到你正在做的事情如果有效并且你没有达到你的期望......

答案 3 :(得分:0)

我可以提供的唯一建议是隐藏HTML,例如,如果你使用flash / silverlight或java,用户甚至无法访问表单的字段名称,处理页面的页面目的地等等。你也可以然后如果有必要做一些形式的数据操作,所以你发送数据=和另一端,撤消操作并解析它,但当然任何可以解析的东西,如果有人窥探网络数据并花费足够的时间来解决它是开放的你操纵它的方式。