Ir para o conteúdo
karva

Como "forçar" a fazer include?

Mensagens Recomendadas

karva    0
karva

Boas pessoal.

Tenho aqui uma duvida.

E assim, se eu quero que um ficheiro seja apenas acessível pelo php, ponho-o numa pasta apenas acessível pelo servidor,

e depois faco o include, e pronto.

O que eu quero saber e se existe alguma maneira de fazer isso, mas com o ficheiro q vai ser incluido, numa pasta acessível, mas que o ficheiro

só corra se se fizer include, haverá alguma funcao pra isso?

Espero que me tenha feito entender.

Cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
flabron    0
flabron

O que pretendes, é que se eu aceder directamente ao ficheiro .php pela barra de endereço não conseguir abri-lo? Conseguindo apenas se estiver a ser chamado pelo include? Certamente haverá mais que uma solução. A minha opinião, sessões.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ped@ntilva    0
Ped@ntilva

Deixa ver se eu percebi.

Tens uma pasta que queres que seja possivel aceder mas n queres que acedam aos ficheiros .php que estão contidos nela.

É isso?

Acho que não é possivel. Já estive a tentar e mesmo mexendo nas Permissões do ficheiro PHP é possivel ler directamente atraves do link.

Acho que a melhor solução é como diz o flabron.

Pões uma condição no inicio do ficheiro .php a verificar a session e so atraves de outro php é possivel aceder a esse.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
kingless    0
kingless

Então é só utilizar define(); e defined(); ;)

Fazes o seguinte:

Nos ficheiros que queres que sejam acessiveis apenas por include colocas no principo de cada ficheiro  o seguinte

exemplo:  abc.php

<?php
defined('incluido') OR die( 'Não é possivel aceder a este ficheiro' );
.... //o resto do código do ficheiro aqui
?>

E no ficheiro onde estao os includes colocas isto no principio (antes dos includes)

exemplo:  include.php

<?php
define('incluido',1);

include( 'abc.php' );
...
?> 

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ped@ntilva    0
Ped@ntilva

Então é só utilizar define(); e defined(); :P

Fazes o seguinte:

Nos ficheiros que queres que sejam acessiveis apenas por include colocas no principo de cada ficheiro  o seguinte

exemplo:  abc.php

<?php
defined('incluido') OR die( 'Não é possivel aceder a este ficheiro' );
.... //o resto do código do ficheiro aqui
?>

E no ficheiro onde estao os includes colocas isto no principio (antes dos includes)

exemplo:  include.php

<?php
define('incluido',1);

include( 'abc.php' );
...
?> 

Não conhecia esta forma, mais uma coisinha para o meu vocabulário, thks kingless.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
-IceBurn-    0
-IceBurn-

O kingless já postou um bom exemplo, mas como nestas coisas mais nunca é demais,

outra opção seria utilizando o ficheiro .htaccess

ou seja,

dentro da pasta onde tens os ficheiros metes um .htaccess com o seguinte:

<Files "*.php"> 
order deny,allow 
deny from all
</Files>

Assim já ninguem tem acesso aos ficheiros php contidos nessa pasta, mas quando fizeres o include eles são incluidos.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Kajo    0
Kajo

Imaginemos então que não quero que me acedam a pasta imagens mas no entanto quero que o site me apresente as mesmas, como faço?

É que desta maneira ele bloqueou-me as imagens, pretendia isto mais para evitar os cuscos que andam a ver as directorias do site.

Thanks

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
-IceBurn-    0
-IceBurn-

Mais uma vez iria sugerir-te o htaccess:

Options -Indexes

Ou então metes um index.php nessas pastas e...

<?php
Header("Location: http://teste.com");
?>

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade