Автор Тема: передача параметра в php скрипт  (Прочитано 14323 раз)

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

Оффлайн vladimir2004

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
передача параметра в php скрипт
« : 08 Апреля 2004, 12:27:18 »
У меня стоит php4 и IIS 5. Есть к примеру файл index.php, а в нем к примеру такой текст:

echo "$param
";
?>

Из адресной строки бровзера я вызываю скрипт таким образом: index.php?param=1 или index.php?param=4 или index.php?param=test
и в ответ выводится ВСЕГДА пустая строка, параметры не передаются, в чем грабли? Настройки php или IIS или еще где? Помогите плизззззз.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
передача параметра в php скрипт
« Ответ #1 : 08 Апреля 2004, 12:29:30 »
vladimir2004
register_globals=Off
AS IS...

Оффлайн vladimir2004

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
передача параметра в php скрипт
« Ответ #2 : 08 Апреля 2004, 12:37:52 »
так в php.ini и стоит:

; You should do your best to write your scripts so that they do not require
; register_globals to be on;  Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = Off

какие будут еще предложения?

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
передача параметра в php скрипт
« Ответ #3 : 08 Апреля 2004, 12:47:41 »
vladimir2004, теоретик именно это и имел в виду

http://faq.phpclub.ru/register_globals
ну, будем исповедоваться?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
передача параметра в php скрипт
« Ответ #4 : 08 Апреля 2004, 13:01:15 »
AliMamed , ты, кстати, согласен с куском про причины и безопасность?

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
передача параметра в php скрипт
« Ответ #5 : 08 Апреля 2004, 13:15:56 »
Этим?
Цитировать
Разработчики PHP настоятельно рекомендуют выключать register_globals (такой режим даже введен по умолчанию во всех новых версиях) и пользоваться данными, полученными от пользователя, только обращаясь к соответствуюим массивам.
Это сделано потому, что при register_globals = on легко взломать небрежно написаный скрипт.
К примеру, функция авторизации выставляет переменную $admin=1, а если авторизации не было, то не делает ничего. В таком скрипте при register_globals=on очень легко стать админом, просто обратившись к нему script.php?admin=1
Огоромное количество сайтов было взломано таким образом.

конечно
ну, будем исповедоваться?

Оффлайн vladimir2004

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
передача параметра в php скрипт
« Ответ #6 : 08 Апреля 2004, 13:21:38 »
Спасибо, все заработало,  а теперь еще такой вопрос:

Есто index.htm и index.php, в index.htm есть форма


 




как передать в index.php в переменную param2 значение поля text (с именем n) по нажатию кнопки? если action="index.php?param2=n", то передается n, а не значения этогого бокса.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
передача параметра в php скрипт
« Ответ #7 : 08 Апреля 2004, 13:23:27 »
не, ниже.
про то, что это нужно не само по себе, что сам регистер глобалс - пофигу, он или офф.
а нужен он исключительно, как побудительный мотив к тому, что надо обязательно объявлять каждую переменную перед использованием.

Довольно непривычное утверждение, но я пришел именно к этому выводу

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
передача параметра в php скрипт
« Ответ #8 : 08 Апреля 2004, 13:28:05 »
vladimir2004

param2" size="20">




И НИКАКИХ извращений.
Проще надо быть.

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
передача параметра в php скрипт
« Ответ #9 : 08 Апреля 2004, 13:40:21 »
я согласен с тем что в подавляющем большинстве случаев переменные надо заявлять. да более того, я после того разговора специально полазил по своим файликам и обнаружил, что у меня это видимо автоматически происходит на подсознательном уровне=) но с тем что в РНР нужно заявлять все переменные я не готов согласиться, ибо разные ситуации бывают.
естественно ничего плохого не будет от заявления переменных, которые из вне подставить невозможно. но это ж не влияет на безопасность.

вот если ты имеешь в виду
Цитировать
Именно объявление ВСЕХ переменных, используемых в скрипте и являетс гарантией от взлома.
вот этот кусок. то если честно меня такие обобщения мягко говоря смущают. не люблю я глобальные обобщения. =)
ну, будем исповедоваться?

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
передача параметра в php скрипт
« Ответ #10 : 08 Апреля 2004, 16:19:33 »
Цитировать
AliMamed:
видимо автоматически происходит на подсознательном уровне

Это у тебя из ИБМовской разновидности Васика +)
AS IS...

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
передача параметра в php скрипт
« Ответ #11 : 08 Апреля 2004, 20:12:09 »
Цитировать
ThE0ReTiC:
Это у тебя из ИБМовской разновидности Васика +)

может быть=)
ну, будем исповедоваться?

Оффлайн vladimir2004

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
передача параметра в php скрипт
« Ответ #12 : 09 Апреля 2004, 15:22:25 »
Все заработало, спасибо.

Есть теперь такой вопрос:
есть переменная $num, она получает знаение поля из MySQL таблицы, но там идет текст, а потом пробелы (поле типа char). Вопрос: как удалить из значения переменной пробелы в конце после текста???

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
передача параметра в php скрипт
« Ответ #13 : 09 Апреля 2004, 15:26:43 »
$num=rtrim($num);
Все болезни от нервов, только сифилис от удовольствия

Оффлайн vladimir2004

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
передача параметра в php скрипт
« Ответ #14 : 09 Апреля 2004, 15:50:51 »
$name - передается из формы на html странице

кусок скрипта на php:

echo "name to search -$name-

";
$all=mysql_query("select count(*) from phones");
$i=0;
do
{
$result = mysql_query("SELECT name FROM phones");
$num = mysql_result($result, $i);
echo "Pro4tenaya-$num-, Peredanaya-$name-

";
$num=trim($num);
$name=trim($name);
if (ereg($name,$num));
{
идет вывод записи
}
$i=$i+1;
}
while ($i<$all);
выводит прочтенную и переданную одинаковые (хотя это не факт, т.к. в html не видно пробелов), и все равно ни раза не заходит в цикл, ели переменные равны, хотя вводится на 100% существующее имя в базе. В чем грабли?

 

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