Existe perigo ao criar uma funcao assim
Eu gostaria de saber se existe algum problema relacionado a seguranca criando uma funcao assim, no exemplo sempre que eu crio uma funcao pre reutilizar os dados sao passados direto na chamada da funcao dentro do php, o usuario nao insere nenhum dado, quando o usuario vai inserir dados eu nao trabalho dessa forma, entao minha duvida [e, se mesmo o parametro da funcao sendo informado dentro do php no codigo pode existir algum problema.
public function contar_cadastro($tabela, $sql){
try {
if($sql == null){
$this->Select = $this->Conn->prepare("SELECT * FROM $tabela");
$this->Select->execute();
return $this->Select->rowCount();
}else{
$this->Select = $this->Conn->prepare("SELECT * FROM $tabela". " " ." $sql");
$this->Select->execute();
return $this->Select->rowCount();
}
} catch (PDOException $exc) {
exibeMensagens($Msg, $ErrNo);
}
}
E as chamadas das funcoes assim
$cmsPDO = new CmsPDO();
$r_userStaff = $cmsPDO->contar_cadastro('usuarios', ' where cargo > 2');
$r_userVip = $cmsPDO->contar_cadastro('usuarios', ' where cargo = 2');
$r_userBan = $cmsPDO->contar_cadastro('usuarios', " where ban = '1'");
$r_usuarioPDO = $cmsPDO->contar_cadastro('usuarios', null);
$r_servVip = $cmsPDO->contar_cadastro('servidores', " where vipfree = 'V'");
$r_servFree = $cmsPDO->contar_cadastro('servidores', " where vipfree = 'F'");
$r_servInat = $cmsPDO->contar_cadastro('servidores', " where verificado = '1'");
$r_servOff = $cmsPDO->contar_cadastro('servidores', " where estado = 'Off'");
$r_servOn = $cmsPDO->contar_cadastro('servidores', " where estado = 'On'");
$r_servidores = $cmsPDO->contar_cadastro('servidores', null);
Eu normalmente crio as funcoes assim:
public function cadastrar_usuario($usuario){
try {
if($this->veriricarnick($usuario) == false){
if($this->verificiarEmail($usuario) == false){
$query = 'INSERT INTO usuarios '
. '(id, nome, senha, email, cargo, ip)'
. 'value(null,:nome, :senha, :email, :cargo, :ip)';
$this->Criar = $this->Conn->prepare($query);
$this->Criar->bindValue(':nome' , $usuario->getNome() , PDO::PARAM_STR);
$this->Criar->bindValue(':senha' , $usuario->getSenha(), PDO::PARAM_STR);
$this->Criar->bindValue(':email' , $usuario->getEmail(), PDO::PARAM_STR);
$this->Criar->bindValue(':cargo' , $usuario->getCargo(), PDO::PARAM_INT);
$this->Criar->bindValue(':ip' , $usuario->getIp() , PDO::PARAM_STR);
$this->Criar->execute();
if($this->Criar->rowCount() == 1){
return 1;
}else{
return false;
}
}else{
return false;
}
}else{
return false;
}
} catch (PDOException $exc) {
exibeMensagens("<b> Erro ao inserir.</b> Mensagem:{$exc->getMessage()} Código: {$exc->getCode()}", WS_ERROR);
}
}Discussão (1)
Carregando comentários...