Jump to content

Como "forçar" a fazer include?


Recommended Posts

Posted

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

Proud LEIC-A@IST student!

Posted

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.

Posted

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.

Posted

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' );
...
?> 
Posted

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' );
...
?> 

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

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.

  • 2 weeks later...
Posted

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.