Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter:将用户输入传递给控制器的推荐方法_Php_Codeigniter - Fatal编程技术网

Php Codeigniter:将用户输入传递给控制器的推荐方法

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)

我是codeigniter的新手,只是想确保我以正确的方式传递参数

codeigniter可以获取常规的GET/POST输入参数,这些参数可以使用输入类在控制器中访问

  • 例如: $this->input->get/post('param1',TRUE)

  • 另一种方法是将其作为 其中,param1可作为'func($param1){}'用于cont中的方法

  • a。 在第二种情况下,CI是自动清理用户输入,还是由我决定(我想是后者)? 如果我必须这么做,那怎么做呢

    b。 推荐哪种方式传递用户输入(1对2)

    c。 “启用/禁用查询字符串”的优点/缺点是什么

    d。
    在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是否自动消毒?