我为joomla 3网站创建了一个表单,用于收集访问者的电子邮件地址。提交后,我正在收集价值:
$email = $input->post('email');
然后我将它们插入数据库中,如下所示:
$values = ...$db->quote($email)...;
我在这里查看了Joomla的编码指南:http://docs.joomla.org/Secure_coding_guidelines
我看到当我在这个问题中显示的数据库中插入电子邮件时,@
和.
正从该值中删除,以帮助防止sql注入。我确信有一个简单的Joomla解决方法来插入电子邮件,但我无法找到语法。有任何想法吗?
答案 0 :(得分:1)
我之前从未使用过Joomla,但在阅读完文档之后,我认为在检索不剥离字符的值时,您必须指定一个过滤器。也许:
$email = $input->post->get('email', 'default_value', 'RAW');
这会给你未经过滤的输入,但当然你应该小心。也许指南页面上列出的不同过滤器更合适。
仅供参考我觉得以上这条线是长期的:
$email = $input->get('email', 'default_value', 'RAW');