Pergunta

Eu escrevi um script que leva o resumo de uma ordem e lojas em em um arquivo XML, exceto o problema é que eu não quero que as pessoas sejam capazes de abrir o arquivo XML no seu navegador, obviamente.

Estou hospedado em um servidor compartilhado muito desertor com habilidades limitadas: Não. SSH, para começar

Existe um lugar que eu posso colocar esse arquivo para que o PHP ainda será capaz de ler / escrever a ele, mas os navegadores da web não será capaz de chegar a ele?

Normalmente, eu criar uma pasta fora da raiz do documento e colocá-lo lá, mas eu recebo uma "Permissão negada" mensagem quando eu tento isso.

As pastas que são lá são:

  • anon_ftp
  • bin
  • cert
  • cgi-bin
  • conf
  • error_docs
  • etc
  • httpdocs
  • httpsdocs
  • pd
  • privada
  • estatísticas
  • subdomínios
  • web_users

PHP não pode acessar o arquivo quando ele está na pasta private. Será que isso é possível usando .htaccess?

Foi útil?

Solução 2

Eu trabalhei em torno dele, colocando o arquivo XML na minha httpdocs pasta, mas acrescentou um arquivo .htaccess com este nele:

<Files ~ "myfile.xml">
    Order allow,deny
    Deny from all
</Files>

Outras dicas

Você pode criar um diretório contendo um arquivo .htaccess que é algo como o seguinte:

Deny from all

Isto irá instruir o Apache não servir arquivos a partir desse directório; qualquer tentativa de acessar o diretório ou seu conteúdo será recebido com um "403 Proibido" resposta do servidor.

Nota: Isso depende do anfitrião não ter Limit removido da lista de opções em sua directiva AllowOverride; a maioria dos hosts compartilhados não deve ter uma razão para fazer isso.

Você não poderia pedir ao provedor de hospedagem compartilhada para criar uma pasta fora-web-raiz para você ? Eu certamente já fez isso no passado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top