3

我刚开始使用 codeigniter,我想使用 1 个函数执行输入格式化。

我想在我的输入上实现的代码:

function sanitize ($string)
{
    $string = filter_var($string, FILTER_SANITIZE_STRING);
    $string = trim($string);
    $string = stripslashes($string);
    $string = strip_tags($string);

    return $string;
}

我的问题是:

当我使用输入类时,codeigniter 是否默认执行这些操作?或者我是否需要创建一个自定义函数来过滤我的输入。

我的目标是:

清洁和保护表单上的用户输入并修剪其中的空间。

4

2 回答 2

1

我建议您阅读手册上的安全章节,您会看到一些功能(主要是 XSS 过滤器)可以(或多或少)完成您所追求的某些功能 - 我认为没有与您的功能相近的功能, 尽管。您始终可以围绕(或代替)它编写自己的实现,将函数放在帮助程序中,并在需要时随时使用它。

通常默认情况下不应用它,因为它非常消耗资源;但是,您可以设置为始终在您的配置文件中使用它,或者通过将TRUE作为$this->input-post()

如果您想深入了解实现的细节,只需打开位于 中的 Security.php 文件system/core/,即可查看该xss_clean()函数对提供的输入执行的所有操作(大约在第 264 行)。

至于修剪,我不确定它是否完成(我还没有彻底检查过),但你手写的时间很短,而且它是表单验证库中可用的过滤器之一,以防你要去在表单提交后使用它。

于 2012-12-06T19:32:09.913 回答
0

你的问题的答案是否定的。Codeigniter 默认不执行这些操作。

通过配置输入表单验证规则,您可以实现在表单上清洁和安全的用户输入并修剪其中的空间的目标。

CodeIgniter 允许您为给定字段设置任意数量的验证规则,按顺序级联它们,它甚至允许您同时准备和预处理字段数据。要设置验证规则,您将使用 set_rules() 函数”。

您想要实现的示例:

$this->form_validation->set_rules('input_field', 'Input Field', 'trim|required|valid_email|xss_clean');

Codeigniter 文档

[验证规则] http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#validationrules

[安全类] http://ellislab.com/codeigniter/user-guide/libraries/security.html

于 2013-07-23T10:55:05.753 回答