PHP Codeigniter - 阻止直接URL访问表单提交

时间:2017-02-10 04:11:45

标签: php codeigniter

任何人都知道如何阻止提交表单的直接URL访问?

所以我有这样的路线

$route['registration']=administration/register

当我输入

localhost/myweb/registration

存在数据库错误,实际上是因为我们直接通过URL访问它而不提交表单。我已成功在我的表单上设置验证以防止数据库错误,但是如果用户提交我们的表单。当用户输入“注册”时,数据库错误。

好吧,对于某些工作和页面,我只是简单地将SESSION设置为ADMIN或USER,以防止直接访问URL,但我们不能这样做,对吗?

注意:我的表单提交数据很好,我只是不知道如何阻止用户输入“注册”作为提交执行的单词

2 个答案:

答案 0 :(得分:0)

appliaction/config/routes.php中管理您的路线。喜欢这个

$route['registration']='administration/register';

这会将localhost/myweb/registration重定向到localhost/myweb/administration/register

答案 1 :(得分:0)

要在Codeigniter中停止直接表单提交,您可以使用CSRF保护。

您只需在application / config / config.php中的$ config ['csrf_protection']中启用它

$ config ['csrf_protection'] = TRUE;

并为表单使用form_open()函数。

这将阻止用户直接提交表单。

以下是几个澄清的链接, https://www.codeigniter.com/user_guide/libraries/security.html Codeigniter CSRF - how does it work