![]() |
Показаны 12 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Передача параметра ??? (http://netadmin.ws/forum/showthread.php?threadid=11083)
Передача параметра ???
Установил PHP 5 ! В скрипте 000.php следующий код:
<?
include ("config.inc.php"); #Там $adminpass = "123";
if ($password != "$adminpass")
{ print "<BR><BR>Введите пароль администратора!
<br><br><form>
<br><input type=password name=password>
<br><input type=submit>
</form>"; exit; }
?>
__________________
Media Commander - это новый медиа гигант в истории!!! Заходи на http://skynet.hut1.ru
quote:
#Там $adminpass = "123";
<?php
$adminpass = "123";
?>
$password != "$adminpass"
<?php
require("config.inc.php"); //Там $adminpass = "123";
$password = (string) $_GET['password '];
if ($password !== $adminpass) {
print '<BR><BR>Введите пароль администратора!
<br><br><form>
<br><input type=password name=password>
<br><input type=submit>
</form>';
exit;
}
?>
quote:
require() and include() are identical in every way except how they handle failure. include() produces a Warning while require() results in a Fatal Error. In other words, don't hesitate to use require() if you want a missing file to halt processing of the page. include() does not behave this way, the script will continue regardless. Be sure to have an appropriate include_path setting as well.
__________________
Админ - вождь Апачей...
если в php.ini стоит register_globals=off то такой способ не катит - нужно забирать переменную из глобальных массивов (в твоем случае $_GET[password]). Лучше привыкать сразу использовать $_GET, $_POST - потому что не везде включены register_globals
he][es
Не ругайся
Просто я хотел привести пример вроде передачи значения как в адресной строке http://localhost/000.php?password=123
Код у меня правильный (не первый раз работаю с PHP), просто я его чисто кусок взял из примера (не полный)!!!
А тебе Falcon спасибо. Проблема решена. Я же говорил, что это при первой установке PHP ни один параметр не передается через "?" (вопросительный знак). Я же писал, что "Как то я чето менял в php.ini , а че забыл".
Еще раз спасибо Falcon 
__________________
Media Commander - это новый медиа гигант в истории!!! Заходи на http://skynet.hut1.ru
Revolution ЕЩЁ Ð_АЗ ГОВОÐ_Ю ЧТО ТЫ НЕПÐ_АВИЛЬНО ДЕЛАЕШЬ!
quote:
Лучше привыкать сразу использовать $_GET, $_POST - потому что не везде включены register_globals
quote:
не первый раз работаю с PHP
__________________
Админ - вождь Апачей...
Спасибо за совет
__________________
Media Commander - это новый медиа гигант в истории!!! Заходи на http://skynet.hut1.ru
А ещё можно так, берёшь массив $_GET например.
И пишешь чо-нить типа этого:
foreach ($_GET AS $par => $val)
{
$$par = $val;
}
__________________
Всего хорошего.
Xel'[Naga] а можно глупый вопрос: "А нафига?" Те же грабли - вид сбоку... + не секьюрибельно... Можно их кончно почистить... Но незная какие переменные придут, неизвестно как чистить...
foreach ($_GET AS $par => $val) {
$$par = & $_GET[$par];
}
__________________
Админ - вождь Апачей...
__________________
Всегда есть решение.
вот только при extract'е появляются все те же проблемы безопасности, из-за чего и выключают register_globals...
quote:Конечно, это тоже самое.
те же проблемы безопасности, из-за чего и выключают register_globals
__________________
Всегда есть решение.
he][es: А это для того, чтобы не писать $_GET $_POST $COOKIE и ещё всякой ботвы.
Меня вот напригает писать по 10 раз слово $_GET['123'] в одной строке + ещё другие.
По поводу безопасности, поверь, при умном подходе, никто ничего не сделает. Все массивы перед их созданием чистяться(после этой функции), поэтому внести что-то в них невозможно. Все переменные во время работы обрабатываются. Я же сказал, всё зависит от хотения + "register_globals(on)" будет работать ВСЕГДА.
А регистер глобалс выключают по умолчанию имхо потому, что развелось сильно много скриптов(не грамотно написанных), через которые можно поиметь доступ.
__________________
Всего хорошего.
| Формат времени GMT. Текущее время 10:23. | Показаны 12 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.