Автор Тема: Нужна помощь в написание скрипта.  (Прочитано 5063 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
Hi,

Возник срочный вопрос  к специалистам языка PHP или JavaScript.
У меня есть шаблон с шапкой, меню и т.д. в файле "blank.phtml", в него скриптом  

function foo ($in) {
if ($in != "") {$out=$in;}
else {$out="indekc.htm";} return $out;}?>


вставляется текст из разных *.HTM файлов. Получается все ОК.
Но если открыть *.HTM файл сам по себе (например на него дала ссылку поисковая система) он открывается без меню и шапки, так вот можно ли сделать скрипт (не забывая, что файлы HTM, теоретически можно переименовать в PHP, но не удобно это), что при открытии *.HTM файла открывался бы не он, а хотя бы "index.shtml", конечно желательнее, что бы присоединялся файл "blank.phtml + имя.htm".

Заранее благодарен, Андрей. santy@chat.ru

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
Нужна помощь в написание скрипта.
« Ответ #1 : 21 Марта 2001, 13:26:19 »
А ты поставь во все HTM файлики редирект на твой скрипт.
С наилучшими пожеланиями. LODEVAR

  • Гость
Нужна помощь в написание скрипта.
« Ответ #2 : 22 Марта 2001, 00:45:27 »
Цитировать
lodevar (21-03-2001 13:26):
А ты поставь во все HTM файлики редирект на твой скрипт.

Не получается.
Этот скрипт написан в шаблоне blank.php и при нажатии ссылки blank.php?имя-файла.htm вставляет в шаблон blank.php файл имя-файла.htm, а если там редирект то он производится до бесконечности.

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
Нужна помощь в написание скрипта.
« Ответ #3 : 22 Марта 2001, 10:15:37 »
Сделай проверку - если из скрипта загружается html, то Ок, иначе - редирект.
С наилучшими пожеланиями. LODEVAR

  • Гость
Нужна помощь в написание скрипта.
« Ответ #4 : 22 Марта 2001, 13:33:13 »
Цитировать
lodevar (22-03-2001 10:15):
Сделай проверку - если из скрипта загружается html, то Ок, иначе - редирект.

Кх... Легко сказать... Я и задаю вопрос, что бы мне помогли в написании скрипта, сам-то я вроде как смахиваю на чайника, в РНР во всяком случае :-)

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
Нужна помощь в написание скрипта.
« Ответ #5 : 22 Марта 2001, 14:01:08 »
Да ладно тебе прибедняться! :-)
Смотри http://php.net/manual/en/language.variables.predefined.php

там говорится о переменной HTTP_REFERER.
Пишешь, например, так:
if($HTTP_REFERER=="путь_к_моему_скрипту")
{
  print "ура! меня запустил мой скрипт!";
}
else
{
  print "Уйди от меня злобный хакер!";
}

Успехов!
С наилучшими пожеланиями. LODEVAR

  • Гость
Нужна помощь в написание скрипта.
« Ответ #6 : 15 Апреля 2001, 09:20:12 »
Конечно надо проверять HTTP_REFERER! Есть у меня один примерчик, писаный правда для коррекции показаний счетчика... но шапку так тоже можно вставлять. Зайди http://dmytro.dax.ru/index.phtml?link=9
Кстати там тоже так все сделано - шапка хранится в одном файле но ты можешь значение link как угодно менять а ее ты увидишь.

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Нужна помощь в написание скрипта.
« Ответ #7 : 16 Апреля 2001, 11:08:08 »
не надо делать файлы с html для инклуда с расширение htm. делай какие нибудь .inc .dat тогда поисковики их трогать не будут. или пропиши robots.txt
и в переменных, передаваемых через ENV очень опасно передавать имя файла и расширение целицом для инклуда.
ну, будем исповедоваться?

  • Гость
Нужна помощь в написание скрипта.
« Ответ #8 : 16 Апреля 2001, 20:19:30 »
Интересно пишешь о опасности, но не понятно.
Можно подробней, почему нельзя передавать имя файла?

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Нужна помощь в написание скрипта.
« Ответ #9 : 17 Апреля 2001, 10:42:59 »
Цитировать
Denim (16-04-2001 20:19):
Интересно пишешь о опасности, но не понятно.
Можно подробней, почему нельзя передавать имя файла?

blank.php?имя-файла.htm - при таком раскладе можно будет проинклудить любой файл, находящийся в public_html, а если на сервере где ты хостишься вообще никто не думал о безопасности, то вообще любой файл с этого сервера.
ну, будем исповедоваться?

  • Гость
Нужна помощь в написание скрипта.
« Ответ #10 : 17 Апреля 2001, 19:06:40 »
А как они узнают имя файла?
И можно ли залезть в директорию cgi-bin?

Цитировать
AliMamed (17-04-2001 10:42):
Цитировать
Denim (16-04-2001 20:19):
Интересно пишешь о опасности, но не понятно.
Можно подробней, почему нельзя передавать имя файла?

blank.php?имя-файла.htm - при таком раскладе можно будет проинклудить любой файл, находящийся в public_html, а если на сервере где ты хостишься вообще никто не думал о безопасности, то вообще любой файл с этого сервера.

  • Гость
Нужна помощь в написание скрипта.
« Ответ #11 : 20 Апреля 2001, 08:47:27 »
Да не надо предавать файл как параметр, передай какую-то переменную а потом по ней инклудь файл. Сам так делал
http://dmytro.dax.ru/index.phtml

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Нужна помощь в написание скрипта.
« Ответ #12 : 20 Апреля 2001, 10:41:02 »
тогда придется забивать все переменные - это не очень удобно. проще имхо делать так:

вызывается скажем
www.you.ru/index.phtml?open=document
для открытия соответственно файла /home/user/public_html/document.txt

а в index.phtml выполняется такой код:

include("/home/user/public_html/".$open.".txt");
ну, будем исповедоваться?

  • Гость
Нужна помощь в написание скрипта.
« Ответ #13 : 23 Апреля 2001, 04:47:55 »
Цитировать
AliMamed (20-04-2001 10:41):
тогда придется забивать все переменные - это не очень удобно. проще имхо делать так:

вызывается скажем
www.you.ru/index.phtml?open=document
для открытия соответственно файла /home/user/public_html/document.txt

а в index.phtml выполняется такой код:

include("/home/user/public_html/".$open.".txt");

Так фищка в том, что юзер не знает названий файлов, т.е. не могет сам взять и откріть в браузере document.txt бкзо всех твоих шапок, хотя конечно при большом количестве страниц уследить за переменными тяжело.

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Нужна помощь в написание скрипта.
« Ответ #14 : 23 Апреля 2001, 11:19:30 »
"так фишка как раз в том", что blank.php?/etc/passw в ентом случае то и может получится =)
ну, будем исповедоваться?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28