Php Codeigniter:将用户输入传递给控制器的推荐方法
我是codeigniter的新手,只是想确保我以正确的方式传递参数 codeigniter可以获取常规的GET/POST输入参数,这些参数可以使用输入类在控制器中访问Php Codeigniter:将用户输入传递给控制器的推荐方法,php,codeigniter,Php,Codeigniter,我是codeigniter的新手,只是想确保我以正确的方式传递参数 codeigniter可以获取常规的GET/POST输入参数,这些参数可以使用输入类在控制器中访问 例如: $this->input->get/post('param1',TRUE) 另一种方法是将其作为 其中,param1可作为'func($param1){}'用于cont中的方法 a。 在第二种情况下,CI是自动清理用户输入,还是由我决定(我想是后者)? 如果我必须这么做,那怎么做呢 b。 推荐哪种方式传递用户输入(1对2)
在CI中,是否有一种方法可以像Inspekt那样清理/验证用户输入?答案 A在第二种情况下,CI是自动清理用户输入,还是由我决定(我想是后者)?如果我必须这么做,那怎么做呢 输入类 第二个可选参数允许您通过XSS运行数据 过滤器。通过将第二个参数设置为布尔值TRUE来启用它 您可能仍然希望对其进行消毒,这取决于您将如何使用它。但对我来说,我仍然用我自己的方式来净化它,按照我的意愿 B建议采用哪种方式传递用户输入(1对2)?: 我认为您使用的输入方式或选择没有限制,当数据来自
表单输入时,您将使用POST
,因为您无法在URL
中传递表单输入(或者您可能不推荐),例如2
,如果它来自API
或其他来源,那么最好的方法就是通过GET
或CI的$this->uri->segment()
函数。或函数(param1)
方法
C启用/禁用查询字符串的优点/缺点是什么
即使禁用了查询字符串,您仍然可以使用它,我没有看到禁用或启用它的任何缺点或优点
但是您可以简单地在URI上传递www.example.com/?param1=foo¶m2=bar
,然后简单地使用#this->input->get('param1')
来检索它,因为我必须在URI上传递加密数据,所以我使用了这么多
D在CI中,是否有一种方法可以像Inspekt那样清理/验证用户输入
如果您想要inspekt的功能,可以将inspekt集成到CI。要了解如何消毒,请阅读手册@cryptic中的此页ツ 为了快速响应,我认为这在一定程度上回答了问题a。你对q'b'怎么看?它取决于数据的上下文。您是否希望它来自表单、API请求、常规的旧导航链接等。您没有给出一个明确的答案:当作为http://example.com/ci/index.php/cont/func/param1
,$param1是否自动消毒?