*   >> Leitura Educação Artigos >> tech >> desenvolvimento web

Como proteger a sua página web php de injeção de SQL

SQL Injection

injeção de SQL é a forma mais comum de website hacking, que acontece quando um usuário afeta o banco de dados sem permissão usando o código SQL. Por exemplo:.

Um site vunerable tem uma página de login, a senha feild não está protegido contra injeção de SQL, quando um hacker vê isso, eles tipo 'OR' '=' no feild senha

< p> O login é processado como este:

SELECT * FROM `users` ONDE username = '$ username' e password = '$ password'

Agora vamos inserir nossos valores:

SELECT * FROM `users` ONDE username = 'admin' ea senha = '' ou '' = ''

Observe que a verificação de senha foi ignorada.

Agora, o código diz para selecionar qualquer usuário se a senha é igual a nada ou nada é igual a nada, o que é sempre verdadeiro, então isso vai selecionar o primeiro usuário no banco de dados, que mais-comumente é a conta de administrador.

Então, como você impedir que esses ataques?

Existem muitos métodos para a prevenção de uma injeção de SQL, alguns são mais fáceis e melhor, mas eu acho que sua handy de saber mais do que um. Basicamente, a idéia principal é para parar, ou codificar o apostrophy

Método 1 -.

Addslashes ()

Em php codificação há uma função chamada addslashes. Essa função adiciona barras invertidas antes de caracteres que podem causar danos ao seu banco de dados, ou enganá-lo para que forneça informações wrog. Um exemplo pode ser visto abaixo:

Quem é esse homem? seria inserido no banco de dados como Quem é esse homem? (Isto não é banco de dados seguro)

Ao usar addslashes:

addslashes (? Quem é aquele homem) será inserido no banco de dados como Who \\ 's que o homem? (isso é seguro banco de dados)

Tendo uma barra invertida antes do 'significa que o banco de dados não reconhecê-lo código sql como válido, e simplesmente ignora-lo

Método 2 -.

criptografia

< . p> Criptografia significa que a informação que é enviada através de é criptografada antes de ser enviada ao banco de dados para validação, isto significa que as informações no banco de dados também deve ser encryped no entanto

Algumas formas de criptografia incluem:

  • md5 ()

  • sha1 ()

  • AES_ENCRYPT ()

    Os dois primeiros são ok para sites básicos, onde a informação de que estão sendo criptografados não é de grande valor, no entanto, estes têm sido rachado em várias formas diferentes, e ferramentas que as pess

    Page   <<       [1] [2] [3] >>
  • Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.