За последние 24 часа нас посетили 17288 программистов и 1218 роботов. Сейчас ищут 1420 программистов ...

Вопрос не от блoндинки, но от блoндина ;)

Тема в разделе "Вопросы от блондинок", создана пользователем EvelRus, 16 ноя 2006.

  1. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Такой вопрос.... есть код:
    Код (Text):
    1.  
    2. switch ($page)
    3. {
    4. case 'main': include "text/index.php"; break;
    5. case 'news': include "text/news.php"; break;
    6. case 'fakultet': include "text/fakultet.php"; break;
    7. case 'history': include "text/history.php"; break;
    8. case 'opros': include "text/opros.php"; break;
    9. case 'search': include "text/search.php"; break;
    10. case 'kafedra/estestv': include "text/kafedra_estestv_index.php"; break;
    11. case 'kafedra/pedagogical': include "text/kafedra_pedagog_index.php"; break;
    12. case 'kafedra/psihology': include "text/kafedra_psihology_index.php"; break;
    13. case 'kafedra/estetic': include "text/kafedra_estetic_index.php"; break;
    14. case 'kafedra/rusyaz': include "text/kafedra_rusyaz_index.php"; break;
    15. case 'dokument': include "text/dokument.php"; break;
    16. case 'adress': include "text/adress.php"; break;
    17.  
    18. default: include "text/index.php"; break;
    19. }
    Как его исправить, что бы он определял страницу и сам добавлял адреса... типа токого

    Есть адрес http://fnk-mpgu.vowik.ru/index.php?page=main , тогда вместо ХХХ поставляется main и в адресе, и в инклюде тоже самое
    Код (Text):
    1.  
    2. switch ($page)
    3. {
    4. case 'XXX': include "text/XXX.php"; break;
    5. default: include "text/index.php"; break;
    6. }
    Заранее спасибо :)
     
  2. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
  3. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Сибки, щас потестю :)
     
  4. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    А что-нить намного проще нету?? Я не далек в пхп и половину не понимаю :) А очень бы хотелось :)
     
  5. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Код (Text):
    1. include "text/" . $_GET['page'] . ".php"
    Но если тебя хакернут, я не виноват :)
     
  6. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    А как меня могут хакнуть???
     
  7. с помощью этого кода - элементарно
     
  8. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    объяснил бы как, а так ответить может каждый...

    а подумай... получается, что сюда -> $_GET['page'], юзверь может написать всё, что угодно...
     
  9. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Hight, объясните, плиз :))))
    как можно в $_GET['page'] что-то вставить, если он лежит на сервере и просто определяет название файла... Ведь он встваляет другой файл из подкаталога, который фиг найдешь....


    и еще..
    Не могу открыть файл prog_antivirus.php который лежит в подкаталоге.... хотя все отсальные файлы грузяться.... типа index.php и т.д.
     
  10. кто лежит на сервере?
    возможно, ты неправильно указываешь путь к нему
     
  11. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    на боку наверное лежит.
    с таким подходом безопасный код не напишешь. а если кто-нибудь найдёт каталог, а если в этом каталоге конфиг будет лежать, что тогда?! рожки да ножки от сайта останутся...
     
  12. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Файл который будет соответствовать $_GET['page']

    Все верно... это и странно все файлы лежат в одном месте...
     
  13. на том же самом сервере могут располагаться сотни клиентов хостинга.
    и никто не мешает указать чужой файл. который прочитает все твои пароли, к примеру.
     
  14. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Чебурген, усе, врубился :)))
     
  15. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Так... разобрался с глюком....

    Код реагирует на знаки типа "_", "#" и т.д.

    вопрос... как исправить?? :)))))))
     
  16. в знаке "_" нет ничего предосудительного
     
  17. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Чебурген, однако скрипт его не понимает :)
     
  18. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Nemo, покажите, в чем выражается непонимание скриптом символа '_'?
     
  19. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Петр, именно в том, что страницы типа index_main.php не открываются :((( (возможно я не прав, но у меня не работает :( )
     
  20. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Покажите, где находится страница с именем index_main.php?
    Каким образом Вы осуществляете переход на нее?
     
  21. я думаю, скорее надо сообщить товарищу, что сообщения об ошибках - это не бесполезный мусор, а ответ на все вопросы.
    это во-первых.

    а во-вторых, присматриваемся внимательно к диалогу
     
  22. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
  23. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Првильно, другие же файлы открываются :)
     
  24. сообщения об ошибках - это не бесполезный мусор, а ответ на все вопросы.
     
  25. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Чебурген, нет никакой ошибки.. он загружет "файл по умолчанию"