我是否需要使用Doctrine查询来转义Symfony2上的字符串?

时间:2013-08-18 16:34:43

标签: php mysql symfony doctrine-orm

我有这段代码:
我从GET请求中获得了一些数据:

$username = $request->get('username');

然后,我使用doctrine检查此用户名是否存在:

$found = $em->getRepository('Bundle:Users')->findByNick($username);
            if ($found){
               //nickname in use
            } else {
               //not found
            }

如您所见,我没有String转义,因此该值直接发送给Doctrine。这是安全问题吗?是否应该出于安全原因进行大幅削减? 请注意,我从不使用RAW查询,只是预构建来自Doctrine的查询。

1 个答案:

答案 0 :(得分:4)

没有必要用准备好的陈述来做。

您可以在此处阅读:http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/security.html

我已经尝试过了。这是由Doctrine生成的查询:

  

在哪里t0.nick ='dasdfaf \\'或1'

如您所见,添加了几个斜杠。