Php是否更好地提交到process.php或self?

时间:2011-08-25 00:27:22

标签: php forms login

我经常想知道哪些更安全,更有效,一般更好?

如果我有登录表单,最好创建一个单独的php文件来处理处理,然后在完成后重定向回登录页面。或者最好是在同一页面上完成所有工作?

这是否有一般规则,或者我只是个人偏好?

4 个答案:

答案 0 :(得分:2)

这不是你问题的直接答案,但仍然值得深思。

如今,许多PHP应用程序将路由(url)和php文件分离。在我的应用程序中,我只有公共可访问的一个 php文件,这称为前控制器。

一个优秀的php 5.3(以及未来的实践证明)示例可以在Silex中找到,Silex是一个小型框架,主要实现前控制器,路由器(确保url / login将转到您的登录页面),以及一些简单网站的基本需求。

请参阅:http://silex-project.org/

答案 1 :(得分:2)

您选择的是由您自己决定的。但是,Post-Redirect-Get pattern (PRG)通常用于PHP。有了它,您将表单发布到不产生输出的处理脚本。如果您有办法区分它们,则可以对许多不同的表单使用相同的处理脚本。处理完POST后,处理程序脚本会重定向回表单页面或其他页面。

PRG模式有助于避免浏览器后退按钮和表单重新提交的问题。

答案 2 :(得分:1)

我的信念是个人喜好。我通常有一个“动作”脚本来处理所有的幕后工作。这也将逻辑保存在一个地方,我很喜欢。它还将前端代码与后端代码分开。

但这完全取决于你。如果您认为“提交form.php”应包含与提交表单相关的所有逻辑,并且“Register.php”应仅包含注册逻辑,那也没关系。

与安全性相关,无论端点如何,它仍然是提交信息。如果您想要更安全,可以使用SSL对其进行分层,但仍然必须将发送到某个地方

答案 3 :(得分:0)

最好在单独的文件中处理请求。

这样代码可以更好地维护/更合理地放置。

为您的所有代码执行此操作会更好。

一个众所周知/经常使用的模式是将逻辑与表示分开的MVC模式。

有关详细信息,请参阅:http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

相关问题