Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estou precisando fazer um sistema de noticias, ja tem tudo pronto, e sei como fazer, mas queria a opinião de vocês, qual a melhor forma.
A pessoa esta navegando no site ai ela encontra uma noticia e clica no titulo, a melhor forma é enviar para a pagina que vai carregar a noticia o ID da noticia, um numero no caso ou o titulo da noticia? lembrando que o titulo é unico e tambem é PK no banco de dados,
Pergunto no seguindo, o caso do ID é mais facil de tratar e prevenir algum tipo de invasão do que com string, mas qual a melhor forma?
Uso PHP7 class PDO e faço orientado a objetos, print de uma determinada parte do codigo.
eu faço a conexão assim
if($this->Connect == null):
$dns = 'mysql:host='.$this->Host.';port='.$this->Port.';dbname='.$this->Dbsa;
$options = [PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'];
$this->Connect = new PDO($dns, $this->User, $this->Pass, $options);
endif;
tem algumas diferença da forma que você usa, mas é seguro? aprendi assim na escola.Você adicionará novas informações aos parâmetros de conexão:
$dns = 'mysql:host='.$this->Host.';port='.$this->Port.';dbname='.$this->Dbsa;
$options = [
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8',
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
];
$this->Connect = new PDO($dns, $this->User, $this->Pass, $options);
É importante entender para que serve cada parâmetro:
[http://php.net/manual/en/pdo.setattribute.php](http://php.net/manual/en/pdo.setattribute.php)
Já, o seu parâmetro, MYSQL_ATTR_INIT_COMMAND é específico do SGBD MySQL:
[http://php.net/manual/en/ref.pdo-mysql.php#pdo-mysql.constants](http://php.net/manual/en/ref.pdo-mysql.php#pdo-mysql.constants)
Indiferente o que for escolher, a segurança é praticamente a mesma.
A diferença poderia ser em usar: