Permissão em pastas e arquivos

15 views
Skip to first unread message

Vellozo

unread,
Oct 11, 2010, 8:52:11 PM10/11/10
to php-brasil
Pessoal,

tenho um probleminha aqui. Vou tentar explicar o que ocorre.
Tenho um site e a parte restrita (só professores e alunos têm acesso)
dele pode ser visualizada por qualquer um. Quando eu falo "parte
restrita", eu falo das pastas e arquivos (pdf´s e etc). As páginas
PHPs não tem problema pois eu verifico se o usuário está logado. O
esquema de pastas está da seguinte forma:
\restrito\
\arquivos\
\notas\

todas essas pastas estão com 755 de permissão. Tirei a permissão de
leitura apenas da pasta, então se eu tento acessar www.meusite.com/restrito/arquivos
ele dá que não existe... até aí tudo bem, mas se eu tento acessar por
www.meusite.com/restrito/arquivos/arquivo.pdf qualquer um tem acesso.
Queria saber se tem como definir um grupo no servidor de forma que
qndo o usuario fizer o login no site, reconhecer que ele tem acesso a
essas pastas, porque do jeito que está todos são proprietários e tem
acesso a todo o conteúdo não-PHP.

Espero que tenham entendido a minha dúvida. Desde já obrigado.

Bruno Reis

unread,
Oct 11, 2010, 10:25:32 PM10/11/10
to php-b...@googlegroups.com
a idéia básica é a seguinte:

http://peagapando.blogspot.com/search/label/acesso%20restrito

> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
> Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
> Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.
>
>

Vellozo

unread,
Oct 12, 2010, 11:22:29 AM10/12/10
to php-brasil
Não entendi muito bem.
Tipo, eu acho que não tenho acesso a pastas fora das quais o apache me
libera no servidor onde está hospedado o site.
Na parte "2. crie um script que faz o controle de acesso" eu faria com
PHP mesmo? Do jeito que eu faço nas páginas PHP restritas, abrindo
seção e etc?

Obrigado

Bruno Reis

unread,
Oct 12, 2010, 12:36:13 PM10/12/10
to php-b...@googlegroups.com
Em 12 de outubro de 2010 12:22, Vellozo <vel...@gmail.com> escreveu:
> Não entendi muito bem.
> Tipo, eu acho que não tenho acesso a pastas fora das quais o apache me
> libera no servidor onde está hospedado o site.

Tem tempo que não mexo com host compartilhado, mas se não me engano
eles têm uma pasta public_html ou http que tem os arquivos servidos
pelo apache. Tudo que estiver fora disso não é servido pelo apache. De
qualeur maneira se você pode mudar a permissão pode ser que você
consiga deixar que um diretório seja acessível pelo php mas não
diretamente pela web.

> Na parte "2. crie um script que faz o controle de acesso" eu faria com
> PHP mesmo? Do jeito que eu faço nas páginas PHP restritas, abrindo
> seção e etc?

sim o exemplo de como fazer este script está la no post também.

>
> Obrigado

Vellozo

unread,
Oct 12, 2010, 10:24:33 PM10/12/10
to php-brasil
Então... existem três tipo de permissão:
1) Propietário
2) Grupo
3) Público
O que eu gostaria de fazer é que todo mundo não logado, fosse tratado
como público (nao ter permissão pra ler, escrever e nem executar
arquivos e pastas) e quem fizer o login no site pode ser grupo (com
permissão 755). Mas teoricamente não tenho como definir isso... fez
login, então passa a ser parte de um grupo. Realmente isso que o cara
fez no link passado é uma solução. Será que existe um meio de fazer
isso sem ser a solução desse link?

MARCUS ANTONIO DE ARAUJO SILVA

unread,
Oct 12, 2010, 11:23:35 PM10/12/10
to php-b...@googlegroups.com

No cpanel, vai em gerenciar index ou indexar, que la tem a funcao para bloquear listagem de diretorios.

Drausio Maiquel

unread,
Oct 13, 2010, 12:29:19 PM10/13/10
to php-b...@googlegroups.com
eu uso um index.php na página +/- assim

if ( $logout!='' ) { 
unset($_SERVER['PHP_AUTH_USER']); unset($_SERVER['PHP_AUTH_PW']); 
echo "<a href=index.php>LOGIN</a>";
exit;

 if ((!isset($_SERVER['PHP_AUTH_USER']))) {
    header('WWW-Authenticate: Basic realm="Area restrita a administração"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Não logado';
    exit;
  } else {
$usuario=$_SERVER['PHP_AUTH_USER'];
$senha=$_SERVER['PHP_AUTH_PW'];
    if (($usuario!='$USUARIO') OR ($senha!='$SENHA')) {
    echo 'Acesso Negado.';
exit;

Suissa

unread,
Oct 13, 2010, 5:43:19 PM10/13/10
to php-b...@googlegroups.com
eu nunca uso o PHP_AUTH_USER
=p

2010/10/13 Drausio Maiquel <dra...@dmasoft.com.br>



--
Jean C. Nascimento aka Suissa
Prof. Análise e Soluções Web Fafit/Facic - Itararé - SP
NoSQL Evangelist - nosqlbr.com.br/
iGrape Evangelist - http://igrape.org
TheWebMind Evangelist - http://thewebmind.org/

      

Reply all
Reply to author
Forward
0 new messages