Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

renan.miranda

Permitir acesso ao site apenas aos links amigáveis...

Recommended Posts

Saudações meus amigos...

 

Bem... desenvolvi um site com URL amigável, mas se eu por exemplo tentar acessar pelo endereço .../noticia.php?id=1 ele acessa também.

Existe alguma forma de redirecionar quem for acessar dessa forma para a home do site?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode verificar o valor do $_SERVER['REQUEST_URI'] ou se existe o $_SERVER['REDIRECT_URL'], mas eu aconselho a usar o primeiro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que o ESerra quis dizer é que você pode verificar o valor de $_SERVER['REQUEST_URI']. Se houver o caractere "?", significa que o usuário tentou acessar por URL não amigável.

 

Outra alternativa é verifica ro valor de $_SERVER['QUERY_STRING']. Se não for vazia, também deve bloquear o acesso

 

E para evitar acesso direto aos arquivos, você pode redirecionar todas as requisições para index.php, mesmo que o arquivo solicitado exista

Compartilhar este post


Link para o post
Compartilhar em outros sites

A minha dúvida é: por quê?

Como o usuário vai "inventar" que existe outra forma de acessar ?

 

Você REALMENTE precisa se preocupar em redirecionar isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom William, eu até entendo a questão do Renan.

 

Pois através do arquivo ele consegue fazer injeções SQL testando assim a vulnerabilidade do site.

Se através da URL amigável você não permite certos caracteres diminuirá a tentativa de invasão.

 

Tenho conhecimento de algumas ferramentas de injeção que funcionam somente com o nome do arquivo, se você tentar utilizá-la através de URL amigável não funcionará.

 

Atenciosamente,

Vitor M. Braga.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai entram duas questões:

1 - URL amigável não tem como objetivo impedir um sql injection por exemplo, é bem verdade que ela acaba tendo este efeito "colateral", mas este não é o objetivo;

2 - Se o seu sistema está vulnerável a um sql injetcion, você tem que resolver isto e não ficar maquiando a situação.

 

De qualquer sorte, um (int)$_GET['id'] já resolveria neste caso. De todo jeito, basta testar conforme já foi passado e isto resolve a questão que foi apresentada inicialmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.