我在codeigniter的帮助下创建了一个应用程序。人们可以注册并登录该应用程序。用户也可以查看彼此的个人资料。
我注意到我使用的功能包括从用户ID获取用户名,从用户ID获取电子邮件......非常多。我注意到所有这些函数的常见之处在于它们都以用户id作为参数提供。所有这些功能都在控制器中。
我正在考虑将所有这些功能放在帮助文件中。因为从helper文件中调用函数非常容易。因为,我正在使用这些函数,如果它们来自帮助文件,我可以直接在视图中使用它们。
现在我的问题是,从安全的角度来看,将这些函数放在助手而不是控制器中是否安全?由于这些函数直接访问数据库以从users表中获取关键信息。
我知道这个问题可能会被视为非常基于意见。但与此同时,我正试图得到确切答案,无论它是否安全。
答案 0 :(得分:3)
从“安全”的角度来看,它们都在您的代码中,最终用户无法看到。但是从测试的角度来看,访问数据库的代码最好在与代码接触其他组件(如UI(通常在控制器中)中)时进行最佳测试。这种事情通常会以MVC模式进入模型或模型助手。