Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 55
Nome: Eduardo Nakamatu
Sexo: Masculino
Localização: Santo André/SP
Contato:

Segurança na implementação de rest puro php

15-02-2016 22:20

Boa noite

Estou tentando implementar um Servidor Rest com php puro sem framework, queria uma opnião dos Srs se este trecho de código pode ser considerado "perigoso" ou "mal planejado"

<?php header('content-type: application/json; charset=utf-8'); header("access-control-allow-origin: *"); $_json = @file_get_contents('php://input'); $_parameter = $_GET['parameter']; $_method = $_SERVER['REQUEST_METHOD'];

grato por qualquer comentario construtivo.
0
Eduardo Nakamatu
enakamatu(at)gmail(dot)com
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17676
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Segurança na implementação de rest puro php

15-02-2016 22:32

Todo script que permite que seja inserido informação no código via link, url, formulário, etc. Tem sim algum perigo.

É sempre bom colocar um filtro para que o valor recebido no documento só seja utilizado se tiver no padrão "só letras, só números, etc."

Em caso de inserir valor no banco de dados o melhor é usar anti injection

<?php function anti_injection($sql){ $sql = preg_replace("/( from |select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/", "" ,$sql); $sql = trim($sql); $sql = strip_tags($sql); $sql = (get_magic_quotes_gpc()) ? $sql : addslashes($sql); return $sql; } echo anti_injection(' * from froma '); ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 55
Nome: Eduardo Nakamatu
Sexo: Masculino
Localização: Santo André/SP
Contato:

Re: Segurança na implementação de rest puro php

15-02-2016 22:38

web,

Grato pelo retorno rapido, mas continuando este seu raciocinio, e se eu pprecisar armazenar parte de codigo? na string vou ter um insert, um from....dai esta função vai bloquear isso, certo?

Pergunto pois tenho um site interno que grava um historico do que os analistas fazem em clientes e el alguns casos eles colocam no corpo da ordem de servico a query criada. Como tratar este situação?
0
Eduardo Nakamatu
enakamatu(at)gmail(dot)com
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17676
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Segurança na implementação de rest puro php

15-02-2016 22:46

Essa função serve para filtrar possíveis códigos maliciosos, ou seja, vai retirar do texto possíveis tentativas de invasão.

Mas cada caso é um caso. Por exemplo, vamos supor que determinada string precisa armazenar somente números, então você pode usar uma expressão regular para filtrar o valor e capturar somente os números.

Supondo que os analistas precisam somente inserir textos na ordem de serviço, então, se você por exemplo vai armazenas esses dados no banco de dados, o ideal é filtrar possíveis comandos que o analista ou outra pessoas poderia inserir tentando fazer um injection. Para isso a função anti-injection, que iria eliminar do texto todo código potencialmente perigoso.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 55
Nome: Eduardo Nakamatu
Sexo: Masculino
Localização: Santo André/SP
Contato:

Re: Segurança na implementação de rest puro php

15-02-2016 22:48

Ok, tanks, do mais, normal usar @file_get_contents('php://input')...
0
Eduardo Nakamatu
enakamatu(at)gmail(dot)com
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17676
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Segurança na implementação de rest puro php

17-02-2016 09:47

desculpe a demora na resposta.estou sem internet. o ideal e ter uma verificação se o arquivo foi carregado ou não. Porque com o @ você deixa do informar ao usuário que ouve um problema ao carregar um arquivo.

if (@file_get_contents("teste2.php")) { echo file_get_contents("teste2.php"); } else { echo "erro"; }

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 55
Nome: Eduardo Nakamatu
Sexo: Masculino
Localização: Santo André/SP
Contato:

Re: Segurança na implementação de rest puro php

17-02-2016 10:30

web, vc ja ajuda p...sem stress, nao tem obrigacao.

Entao....o file_get_contents eu pego o json que enviam, entao nao tenho um arquivo php..ou teria?
0
Eduardo Nakamatu
enakamatu(at)gmail(dot)com
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17676
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Segurança na implementação de rest puro php

17-02-2016 14:28

no seu caso não precisa.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado