Orkut Gmail Agenda Docs Web mais »
Grupos visitados recentemente | Ajuda | Acessar
Página inicial dos Grupos do Google
Mensagem sobre o tópico falhas de segurança em PHP (index sumindo)
O grupo no qual você está postando é um grupo da Usenet. As mensagens postadas neste grupo farão com que o seu e-mail fique visível para qualquer pessoa na internet.
Sua resposta não foi enviada.
Postagem publicada
 
De:
Para:
Cc:
Encaminhar para
Adicionar Cc | Adicionar Encaminhar para | Editar Assunto
Assunto:
Validação:
Com o objetivo de verificação, digite os caracteres que você vê na figura abaixo ou os números que ouvir ao clicar no ícone de acessibilidade. Ouça e digite os números que ouvir
 
leogois  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 22 mar 2007, 11:06
De: "leogois" <camposgue...@gmail.com>
Data: Thu, 22 Mar 2007 07:06:35 -0700
Local: Qui 22 mar 2007 11:06
Assunto: falhas de segurança em PHP (index sumindo)
Pessoal,

Coloquei um site com linguagem PHP. Logo, me deparei com um grande
problema: simplesmente um belo dia fui acessar o site e o código fonte
da página index havia sumido. Isso já ocorreu por três vezes. Imagino
que, por alguma falha de segurança, alguém está provocando isso.

Para esclarecer melhor como contruir meu site, destado o seguinte:
 arquivo index: index.php
páginas internas: nome.php

Aparece no browser: Ex.: http://www.meusite.com/index.php?page=artigos

Coloquei um código em php para que todas as páginas internas abram no
meio do site, mantendo o resto co conteúdo intacto: topo, menu e
rodapé. Coloque o seguinte código no local onde inserir o conteúdo do
centro do site: <?php if(isset($page)) { include
("$page.php"); }else{ include ("principal.php"); } ?>

Minha pergunta é: o que pode está acontendo com o meu site e o que
fazer para solucionar este problema?
De acordo uma pesquisa que fiz, encontrei o código abaixo que tarvez
contenha a solução. Mas, como inserir em minha página substituindo o
código atual?

"Um método seguro de incluir arquivos seria como o abaixo:

<?php
//cabeçalho do site
$page = $_GET['page'];
//para ter certeza que $page é alfanumérico.
if(eregi("^[a-z0-9\-_\.]+$", $page, $regs)) {
    $dir = "includes/"; //pode ser branco
    $ext = ".php"; //.php, .html, .txt, whatever
    if(file_exists($dir . $page . $ext)) {
        include($dir . $page . $ext); //ou outro tipo de extensão se
não for necessariamente um arquivo .php
    } else {
        echo '404 - Not Found'; //ou algo similar
    }

} else {

    echo 'Naughty Naughty, very Naughty.'; /rodapé do site
}

?>

Então o link: index.php?page=about (assumiria about.php dentro do
diretório 'includes').

Se você sabe que o arquivo que será incluído não conte código PHP e
sim apenas texto, então pode ser melhor usar readfile() ao invés de
include()/require(), pois ambos irão executar qualquer código PHP que
eles encontrarem algo que o readifle não irá.

Usando um diretório separado para incluir arquivos, pode ser ótimo
como uma forma de parar urls do tipo: "includes/http://blah.com/
lala.txt" que não irá funcionar. Isso não é realmente necessário se um
utilizar um ereg como filtro nas urls.

Algumas pessoas nomeiam os arquivos que serão incluídos com a extensão
'.inc', isso é muito perigoso, pois .'inc' não é interpretado como um
código PHP pelo Web server e será visualizável no navegador como um
texto na pagina. Isso parece algo banal, mas infelizmente muitos usam
arquivos do tipo 'config.inc' que contem senhas de banco de dados etc,
algo que torna o sistema muito inseguro...

Arquivos que serão incluídos devem ter a extensão .php, pode ser
exemplo.inc.php se você realmente quer que o nome contenha '.inc',
algo que eu acho desnecessário.

Você deve mantê-los fora do diretório root por uma pequena questão
adicional de segurança."


    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.

Criar um grupo - Grupos do Google - Página inicial do Google - Termos de Uso - Política de Privacidade
©2009 Google