使用参数而不是直接在查询字符串中放置值是为了防止 SQL 注入攻击,并且应该始终这样做:
... WHERE p.name > :name ...
->setParameter('name', 'edouardo')
这是否意味着如果我们使用这样的参数,我们将始终受到 SQL 注入的保护?在使用表单(FOS 的注册表单)时,我将<b>eduardo</b>
其替换为带有标签的数据库。我真的不明白为什么使用参数可以防止 SQL 注入...
为什么标签会这样持久化到数据库中?有没有办法通过使用 Symfony 的验证组件来删除标签?
在 Symfony 中将数据持久化到数据库之前,我们应该使用什么通用技巧或方法?