GNU/Linux >> Znalost Linux >  >> Linux

Povolit skriptům číst soubor, ale zabránit uživatelům v přímém zobrazení souboru

Ano, je to snadné.

Existují dva hlavní způsoby, jak zabránit uživatelům v přístupu k example.txt . První je vložit jej do složky mimo vaši webovou složku (obvykle se nazývá www nebo public_html ), druhým je vložení .htaccess soubor ve složce s vaším skriptem example.txt, který zcela blokuje přístup k souboru. .htaccess by vypadalo

<files "example.txt"> 
deny from all 
</files>

Ale můžete změnit example.txt na něco jako *.txt pokud jste chtěli zablokovat všechny .txt soubory ve složce.

Pak můžete použít file_get_contents() ve vašem readfile.php pro získání obsahu textového souboru, nebo pokud chcete soubor pouze vytisknout, můžete použít readfile


Stačí uložit soubory, které nechcete, aby byly veřejně přístupné mimo webový kořenový adresář .

/home
   example.txt
   /www
      readfile.php

Pokud /home/www/ je vaše veřejná složka webroot, žádný soubor nad ní není přístupný přes webový server. readfile.php může stále přistupovat k souboru naprosto v pořádku na ../example.txt ačkoli.


Pokud potřebujete uložit soubory do webrootu, vložte soubory do složky a odepřete přístup k této složce. Pokud používáte Apache, vytvořte ve složce soubor .htaccess a zadejte deny from all


Linux
  1. Čtěte a zapisujte data odkudkoli s přesměrováním v terminálu Linux

  2. Bash skript k odstranění nejstaršího souboru ze složky?

  3. Ponechá příkaz Shuf File> File prázdný soubor, ale podobné příkazy ne?

  1. Čte Tail celý soubor?

  2. Vzít první sloupec ze 2 souborů a zapsat ho do třetího souboru?

  3. Rozlišovat Ls na výstupu skripty od binárních souborů?

  1. Jak odstranit Bom ze souboru UTF-8?

  2. Povolit ostatním uživatelům kopírovat soubory ze složky?

  3. Jak zabránit uživatelům v přístupu ke kořenovému adresáři?