За последние 24 часа нас посетили 17733 программиста и 1659 роботов. Сейчас ищут 934 программиста ...

Минус в начале QUERY STRING воспринимается как ключ запуска

Тема в разделе "Прочие вопросы по PHP", создана пользователем wbmst, 7 фев 2009.

  1. wbmst

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

    С нами с:
    7 фев 2009
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    Екатеринбург
    Добрый день, коллеги.
    Столкнулся со странной проблемой; похоже, я единственный, у кого она возникла. При наборе в браузере строки запроса http://имя_хоста/?-1 запрос падает с 500-й ошибкой. В error.log сервера пишется что-то типа "недопустимый параметр запуска php-cgi.exe" То есть явно этот -1 воспринимается как ключ запуска интерпретатора (у меня от стоит как cgi). Запросы вида ?--1 или ?abcd обрабатываются нормально; более того, что смешно, запросы вида ?-i или ?-w (есть такие ключи при запуске php) воспринимаются нормально и успешно передаются в $_SERVER['QUERY_STRING'], а запросы вида ?-h (хотя такой ключ тоже есть) или ?-1 приводят к 500-й ошибке. Это баг php или я чего-то не понимаю? Облазил пол-Интернета, нигде не встречал даже упоминания об этой проблеме. Более того, при работе под IIS все нормально, а из-под Апача - вылезает вот такая фигня.
     
  2. kirwebgroup

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

    С нами с:
    21 ноя 2008
    Сообщения:
    48
    Симпатии:
    0
    интересно http://localhost/?-1 - -1 -это у тебя передаваемая переменная или ее значение просто может быть так работает http://localhost/?переменная=-1
     
  3. wbmst

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

    С нами с:
    7 фев 2009
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    Екатеринбург
    Так. Еще раз. Если передать переменную как http://имя_хоста/?переменная=-1 то, естественно, все нормально. Если же просто попытаться написать http://имя_хоста/?-1 то, по идее, -1 должно через переменную окружения прийти в $_SERVER['QUERY_STRING']. Вместо этого запрос падает с 500-й ошибкой, как описано выше, причем запись в error.log сервера свидетельствует о том, что -1 воспринят как ключ запуска php-cgi.exe.
     
  4. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Думаю, что php тут не причём
    значит нужно копать в сторону апача
     
  5. 440Hz

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

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    ты "-" заэкранируй и все будет пучком.
     
  6. wbmst

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

    С нами с:
    7 фев 2009
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    Екатеринбург
    Так у меня вообще никаких проблем нет. Проблема в том, что если это баг, то хакер может запустить у меня на машине php с произвольным ключом, вот в чем дело!
     
  7. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    небось с реврайтами наврал...