[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Открытие/выполнение файла, без указания расширения
nginx_ip
Привет, я в структуре сервера знаю не много - можно сказать только азы.
Хочу спросить: что нужно перенастроить? либо дописать, чтобы если на сервер поступит запрос без указания формата файла - он бы искал файл БЕЗ ФОРМАТА - соответственно такого не будет и пользователь получит ответ 404. Просто у меня сейчас сервер прописан как-то не правильно - дело в том что если допустим написать "site.ru/index" - и в папке будет допустим находиться файл index.txt либо index.php либо index.html - не важно он откроет первый из них (если конечно это .php - то выполнится скрипт, если просто текстовой документ, либо картинка - отдаст контент).
Мне кажется что это ошибка - это как то влияет на безопасность сайта? Конечно директорию он не покажет если ввести допустим "site.ru/images/" - пользователь получит ответ 403 - доступ запрещен.
SlavaFr
Да, это влияет на безопасность сайта. представь если запросят ".htaccess" или какие нибудь файлы на которые выйдут благодаря введения релативного "../../filename".
Надо быть с такими вещами очень осторожным..

Ну а в общем ты можешь функцией glob вычитаь масив со всеми файлами, которые по крайней мере начинаются с определённого слова.
например
glob('papka/'. $tvoe_nazvanie_file_bez_okonchanija.'.*');
даст тебе масив со всеми файлами.
А там решай, что тебе показывать из имеющихся сам.


_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
nginx_ip
Цитата (SlavaFr @ 28.09.2016 - 17:00)
Да, это влияет на безопасность сайта. представь если запросят ".htaccess" или какие нибудь файлы на которые выйдут благодаря введения релативного "../../filename".
Надо быть с такими вещами очень осторожным..

Ну а в общем ты можешь функцией glob вычитаь масив со всеми файлами, которые по крайней мере начинаются с определённого слова.
например
glob('papka/'. $tvoe_nazvanie_file_bez_okonchanija.'.*');
даст тебе масив со всеми файлами.
А там решай, что тебе показывать из имеющихся сам.

Forbidden You don't have permission to access /.htaccess on this server.

httpd.conf {

<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
NameVirtualHost *:81
<VirtualHost *:81>
ServerAdmin ***@***.ru
DocumentRoot /home/testing/www/
ServerName ***.ru
ServerAlias www.***.ru
</VirtualHost>

}

nginx.conf {

limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=site:10m rate=300r/m;

server {
limit_conn addr 10;
listen 80;
server_name ***.ru;

charset cp1251;

location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$
{
expires 1d;
add_header Cache-Control public;
proxy_pass http://localhost:81;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}

location /
{
limit_req zone=site burst=15 nodelay;

proxy_pass http://localhost:81;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}


}

+ пользователь если переходит по сайту, соответственно разные скрипты подключаются исходя от get запроса "проверяется существование php скрипта для подключения include - из массива, так есть isset($array[$_GET['page']]) - include скрипт else подключаем основной скрипт index.php"


"А там решай, что тебе показывать из имеющихся сам." - Там все можно показывать, не чего запрещенного нет.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.