Pergunta

Tenho um problema com a barra de endereço (no navegador).O URL da página inicial do meu site é assim: http://localhost/Website/index.php

Se eu escrever .../Website/home.php ele carrega o home.php página.Acho que não é seguro se alguém puder acessar qualquer página da Web que desejar se souber o endereço.Quero bloquear o redirecionamento automático de URL na barra de endereço.Por favor, alguém me ajude a fazer com que se alguém escrever o .../home.php endereço ele redireciona o navegador para index.php como a página padrão.

Nenhuma solução correta

Outras dicas

Todo o conceito da World Wide Web é que cada recurso (por exemplo, cada página da Web) possui um identificador de recurso exclusivo (endereço). É parte integrante de como a Internet funciona e você deve se conformar, em vez de evitá -la.

Certifique -se de ter um grande link grande de volta à sua página inicial e as pessoas o usarão se pousarem em uma página diferente e não conseguirem encontrar o que desejam.

Eu espero que isso ajude.

Em resumo: você não pode fazer isso. Como outros mencionados, o PHP é um linguagem lateral do servidor Isso significa que ele não pode controlar o navegador (ou seja, impedir que alguém mude o URL). Leia e siga os links em Como funciona o PHP? Para saber a diferença entre o lado do servidor e os linguagens do lado do cliente.

Os artigos de Wikipeda Rede mundial de computadores, Localizador de recursos uniformes (URL) e Servidor web Também pode ser interessante para você entender o modo como o WWW funciona e o que é sobre os URLs.

Mas você pode controlar quais arquivos podem ser acessados. Existem duas maneiras:

Configuração do servidor da web

A maioria (todo?) O Web Server permite configurar regras para controlar quais arquivos devem estar acessíveis (também conhecidos como controle de acesso). Ela é um exemplo de como fazer isso com o Servidor da Web Apache.

PHP: controlador frontal

Você também pode fazer isso com PHP diretamente (e uma pequena configuração do servidor da web). A palavra -chave mágica dela é a Padrão do controlador frontal. Esta é, por exemplo, uma classe que atua como um único ponto de entrada no seu aplicativo. Isso significa que todo pedido, por exemplo, para

 http://localhost/Website/home.php

ou

http://localhost/Website/foo/bar.php

é redirecionado (encaminhado, como você deseja nomear) e processado por

 http://localhost/Website/index.php

Portanto, no final, você pode e precisa decidir qual conteúdo o usuário consegue ver se ele tenta acessar um determinado URL.
Isso oferece mais controle sobre os URLs (de), mas você precisa se esforçar mais para configurá -lo.

Se você está interessado em como isso funciona, sugiro dar uma olhada no Estrutura de Zend que implementa esse padrão.

Questão aberta...

Embora você posso Faça isso, a questão é se você precisa fazer isso. Se você não quiser home.php Para estar acessível, por que você o coloca no seu servidor da web em primeiro lugar?

Ou talvez você tenha uma imagem errada da estrutura de um site em sua cabeça. UMA solteiro Site consiste em múltiplo páginas (na maioria das vezes), por exemplo

index.php   // is the main page
about.php   // is about the site or you
news.php    // contains the latest news you provide
archive.php // older news or articles
...

É até procurado que um usuário / visitante possa acessar essas páginas diretamente digitando o URL na barra de endereços ou através de um marcador. É assim que um site ou o www funciona.

PHP não pode fazer isso; É uma tecnologia do lado do servidor e, portanto, não pode modificar o comportamento do navegador. Simplesmente não coloque outros arquivos no diretório e o navegador informará ao usuário que não existe esse arquivo quando eles tentarem navegar até ele.

Você pode obter esse resultado mesmo sem quadros. Se você usar JavaScript e Ajax para carregar dinamicamente seu conteúdo, seu URL não será alterado.

Embora eu nunca recomendo isso pelo Googles, essa seria a maneira mais agradável de fazê -lo e ainda funcionar bem com o PHP

OK, encontrei a opção de desativar o relacionamento.É nas configurações de variação da lista "Target".

Eu concordo com as respostas postadas recentemente.

Mas se você não precisar HTML você pode entrar em FLASH ou Java Applet, uma vez carregados, seus URLs não mudam mais.

Coisa estranha de se querer fazer, mas um simples maneira (e não é boa para nada além de sites pequenos) é usar Header(LOcation:xxx).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top