Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

<li><a href="5.html">5.html</a></li>

</ul>

</body>

</html>

Как видите, все ссылки «указывают» тоже на серые документы, вернее, они оставляют информацию о цвете (путь) неизменной.

По адресу /cgi-bin/pi.cgi/red/1.html мы обнаружим аналогичную структуру «красных документов».

Мысль, намеченную в этом сценарии, легко развить в необходимом русле. Единственное, о чем следует позаботиться – это безопасность. Отсутствие хотя бы каких-нибудь проверок в сценарии pi.cgi чревато только комичными ситуациями. Например, такой: /cgi-bin/pi.cgi/white/1.html. Но если ваш сценарий работает с файлами, то всегда надо быть готовым к тому, что кто-то запросит документ /cgi-bin/koi2win.cgi/../../../etc/passwd. Конечно, конкретно эта атака наивна и, скорее всего, не представляет серьёзной опасности, хотя всё зависит от того, как устроен koi2win.cgi.

Замечу ещё, что всё сказанное справедливо не только для CGI-сценариев, но и для SSI-документов. При обращении к ресурсу /dir/doc.shtml/data (конечно, предполагается, что doc.shtml не директория, а SSI-документ) будут также созданы две дополнительные переменные PATH_INFO и PATH_TRANSLATED.

Кроме того, SSI-процессором всегда создаётся переменная DOCUMENT_PATH_INFO, которая пуста, если PATH_INFO и PATH_TRANSLATED отсутствуют.

Я думаю, что у внимательного читателя уже возник вопрос, можно ли усовершенствовать наше решение так, чтобы избежать таких «неповоротливых» адресов, превратив, например, /cgi-bin/pi.cgi/gray/3.html в /color/gray/3.html. Ответ на этот вопрос – да, возможно. Как раз это обсуждается в следующем разделе.

Магия Action

Наверное, самые большие возможности предоставляет директива Action. С её помощью вы можете назначить скрипт-обработчик для определённых типов файлов.

Приведу пример. Напишем в .htaccess следующие директивы:

AddHandler my-handler .para

Action my-handler /cgi-bin/para.cgi

Обе директивы, содержащиеся в этом файле, принадлежат к категории FileInfo.

Первая – добавляет новый дескриптор файла, ассоциированный с расширением .para. Теперь все файлы *.para будут ассоциироваться с манипулятором my-handler. Особенностью директивы AddHandler является то, что она не чувствительна к регистру, то есть распространяется в равной мере и на файлы *.Para, *.PARA, *.PaRa и так далее. Кроме того, символ «точка» необязателен.

Вторая директива – Action – назначает действие, которое необходимо выполнять для файлов, ассоциированных с манипулятором my-handler. Теперь любое обращение к файлу *.para должно приводить к запуску сценария /cgi-bin/para.cgi.

Для полноты картины добавлю, что вместо дескриптора можно использовать MIME-тип. В принципе, нетрудно представить случаи, когда это будет удобно. Например, вы поддерживаете публичный хостинг и хотите, чтобы ко всем страницам ваших клиентов автоматически добавлялся баннер. Тогда проще привязать обработчик html-документов не к двум расширениям (.html и .htm), а к одному-единственному MIME-типу (text/html).


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100