Как я могу ограничить доступ к папке или файлу, чтобы запретить пользователям открывать его

У меня есть несколько файлов и папок, которые являются частными. Я не хочу, чтобы пользователи могли их видеть. Я хочу показать им сообщение, содержащее "этот файл (или папка) ограничен, и вы не можете открыть его".

до сих пор я использовал панель и входил на эти страницы (я имею в виду, если у кого-то есть пользователь / пароль, он может открыть файл). но это не является стандартным и неприемлемым для папок.

вот моя структура папок:

index.php
contactus.php
search.php
privatefile.php
classes/class1.php
classes/class2.php
privatefolder/file1.php
privatefolder/file2.php

Теперь я хочу забанить эти URL:

www.example.com/classes   // all of the its files: file1.php and file2.php

а также

www.example.com/privatefile.php

Следует отметить, что я использую nginx и не могу использовать .htaccess, в любом случае есть ли подход для этого?

1 ответ

Решение

Я думаю, что вы можете сделать это:

location /classes {
  return 301 http://www.example.com/this_file_is_limited.html;
}

Файл this_file_is_limited.html содержит ваше сообщение

Но если вы хотите отказать без какого-либо (указанного пользователем) сообщения, вы можете использовать deny:

location /classes {
  deny 192.168.1.5; # if you want deny an IP
  deny all;  # if you want deny all
} 
Другие вопросы по тегам