OsKaR
Zeta
Verificación en dos pasos activada
Sim, nos meus outros scripts eu utilizava uma função para limpar caracteres tipo <, OR, ', e mais alguns, mas neste script em particular os latinos utilizam caracteres com desenhos que, ao filtrá-los, me comentavam que não apareciam em suas frases, por isso modifiquei e fiz apenas uma limpeza básica.
PD. Guardei o link 2. 😉
@ Jesam, estas modificações vocês podem fazer tranquilamente no script, mas certifiquem-se bem, já que os caracteres que vocês costumam usar talvez não apareçam.
Por exemplo, abrimos o template "principal.php" e buscamos a linha 6:
Substituímos
Esta seria uma opção para continuar utilizando caracteres com desenhos e ter uma maior segurança.
Ou então:
PD. Guardei o link 2. 😉
Se você sanitiza o texto das frases, por exemplo, para apenas aceitar caracteres alfanuméricos e espaços, haveria algum problema de funcionalidade?
Aqui tem uma maneira de fazer isso:
Link removido
É feito usando expressões regulares, se você olhar os comentários e for testando, verá como pode modificá-la. Eu consertaria o código para você, mas não sei quais caracteres costumam ser usados nessas frases. De qualquer modo, não permita caracteres como ' " % \ *
Também recomendo que, antes de fazer isso (ou seja, passo prévio), você aplique um strip_tags() para remover tags HTML.
Consiga informações sobre esses temas (segurança PHP). Se você constrói uma casa, você se certifica de que não fique nenhuma porta sem fechadura e nenhuma janela sem grades, certo? Isto é igual 🙂 Eu sei sobre este tema porque sempre o vi como um tema muito importante: eu não quero que um dos meus clientes me ligue porque um site com 100000 visitantes diários foi hackeado, e o responsável sou eu por ter deixado a "porta aberta". Nunca aconteceu comigo, nem com meus sites nem com os dos meus clientes, mas justamente porque foi prevenido.
Um bom ponto de partida (informação muito básica sobre alguns tipos de vulnerabilidades) é PHP Freaks - PHP Help Tutorial: PHP Security
@ Jesam, estas modificações vocês podem fazer tranquilamente no script, mas certifiquem-se bem, já que os caracteres que vocês costumam usar talvez não apareçam.
Por exemplo, abrimos o template "principal.php" e buscamos a linha 6:
PHP:
$frase = htmlspecialchars($_POST['frase']);
Substituímos
PHP:
// seguridad mysql
function seguridad($texto){
$texto=str_replace("<", "", $texto);
$texto=str_replace(">", "", $texto);
$texto=str_replace("%", "", $texto);
$texto=str_replace("'", "", $texto);
$texto=str_replace('"', "", $texto);
// etc caracteres...
return $texto;
}
$frase = seguridad($_POST['frase']);
Esta seria uma opção para continuar utilizando caracteres com desenhos e ter uma maior segurança.
Ou então:
PHP:
$frase = addslashes(trim($_POST['frase']));
:O que interessante... então se esses problemas de segurança forem resolvidos, você, OsKar, chegaria a corrigi-los e liberá-los, ou existiria uma versão paga? 😀
Última edição: