Jump to content

Como "forçar" a fazer include?


karva

Recommended Posts

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!

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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' );
...
?> 
Link to comment
Share on other sites

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.
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 2 weeks later...

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.