如何创建不可访问的控制器操作?
在我的一个控制器中,我使用 codeigniter 的表单验证助手。我的验证规则之一是我创建的返回 true 或 false 的自定义函数。 问题是,这个验证函数是在控制器的类中声明的。如何防止用户将我的验证函数作为控制器操作 (mysite/mycontroller/my_callback_func) 浏览?
PS - 尝试将函数设置为私有,但我收到错误消息,验证助手无法访问该函数。
In one of my controllers, i use codeigniter's form validation helper. One of my validation rules is a custom function that i created that returns true or false.
Problem is, that this validation function is declared inside the controller's class. How do i prevent users from browsing to my validation function as a controller action (mysite/mycontroller/my_callback_func)?
P.S. - Tried to set the function as private but I'm getting an error that it's not accessible for the validation helper.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需以下划线开头的函数/方法名称即可。
直接来自
./system/core/CodeIgniter.php
:Just start the function/method name with an underscore.
Straight out of
./system/core/CodeIgniter.php
:只需定义您的函数 private 并在函数名称前添加 uderscore 即可,例如:
simply define your function private and put an uderscore befor the function name for example :
相反,我会将其设为辅助函数。为此,请将文件放入
system/application/myval_helper.php
中,然后在其中添加您的函数。然后只需调用:您就可以访问该函数。另一种替代方法是简单地使用
.htaccess
来阻止该确切的 URL。I would instead make it a helper function. To do so, put a file in your
system/application/myval_helper.php
, then add your function in there. Then just call:And you'll be able to access the function. Another alternative is to simply use
.htaccess
to block that exact URL.