Ao manipular dados de formulários no Yii, é necessário fazer tratamentos para evitar SQL Injection?
O Yii é protegido contra SQL Injection por padrão?
Vou precisar criar alguma função para tratar os dados vindos dos formulários?
Ao manipular dados de formulários no Yii, é necessário fazer tratamentos para evitar SQL Injection?
O Yii é protegido contra SQL Injection por padrão?
Vou precisar criar alguma função para tratar os dados vindos dos formulários?
Genésio, se não me engano por ele usar o PDO ele já faz algumas validações.
Tb ñ sei mnt sobre o assunto mas se vc reparar nos models do ContactForm.php e LoginForm.php verá q ele traz um método rules ali vc consegue fazer algumas validações. Tente ver tb na documentação do Yii sobre esse rules.
Por exemplo, sempre faço a recuperação de valores vindos dos forms assim:
$var = $_POST["campo"]
ou assim:
$var = $_GET["campo"]
Nesse caso meu controller vai receber os dados sem nenhum tratamento.
A dúvida é:
O Yii já trata os dados automaticamente?
Eae galera.
Genésio, complementando o que o Cálcio disse:
Abaixo um esclarecimento sobre a prevenção de SQL injection com as instruções preparadas.
http://br.php.net/manual/pt_BR/pdo.prepare.php
O Yii trata os valores a serem armazenados no bd assim:
http://www.yiiframework.com/doc/guide/1.1/pt_br/database.ar#sec-2
No caso de requisições através do $_GET se vc não tratar diretamento irá sobrar para a classe PDO método prepare pois lá na raiz o Yii vai utilizar esse método para processar as consultas.
Vejo dessa forma.
Se alguém tem mais informações, por favor não deixe de compartilhar.
Flws.
:wq