【发布时间】:2011-09-07 14:31:16
【问题描述】:
这更像是一个理论问题,而不是具体问题。
我有一个使用 CodeIgniter 的表单验证类设置的表单。我正在运行一些规则,例如:
$this->form_validation->set_rules('address_line_1', 'Address Line 1', 'required|xss_clean|trim');
我最终想将address_line_1 数据放入我的数据库中。这是我有点困惑的地方。似乎有几种方法可以从 CodeIgniter 中获取 $_POST 数据:
$address = $_POST['address_line_1'];$address = $this->input->post('address_line_1');$address = $this->form_validation->set_value('address_line_1');$address = set_value('address_line_1);
那么哪种方式是“正确”的方式?
虽然我确信其中一些假设是错误的,但我被引导相信......
$_POST未通过 CodeIgniter 的安全性进行消毒(我对此很有信心)$this->input->post()将清理数据(在一定程度上),但不会应用任何表单验证准备规则$this->form_validation->set_value()与set_value()相同,但是......
set_value()旨在通过其value=""元素重新填充表单输入。
我的哪些假设是正确的,哪些是错误的?当我准备使用表单验证时,我应该以什么方式提取 $_POST 数据? 表单验证文档在这方面是模棱两可的。例如,没有一个示例显示它实际上将输入数据传递给模型。
谢谢!
杰克
【问题讨论】:
标签: php security codeigniter post