форум вебмастероff на AlfaSpace.NET

Ubuntu и Linux |реактивный бесплатный хостинг | Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга | правила форума

  Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ °
Форум вебмастеров на AlfaSpace.NET / Служба спасения 911 / PHP. Почему нельзя обращаться к переменным html-форм, как к глобальным?
. 1 . 2 . 3 . 4 . >>
Автор Сообщение
help
Техпомощь

1245
# Дата: 2 Фев 2005 06:30 ° Поправил: help


Вот официальное объяснение разработчиков PHP:

Global variables are no longer registered for input data (POST, GET, cookies,
environment and other server variables). Instead of using $foo, you must use
you can use $_REQUEST["foo"] (includes any variable that arrives through the
request, namely, POST, GET and cookie variables), or use one of the specific
$_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending
on where the input originates. Also, you can look at the
import_request_variables() function.
Note that register_globals is going to be depracated (i.e., turned off by
default) in the next version of PHP, because it often leads to security bugs.
Read http://php.net/manual/en/security.registerglobals.php for further
information.

Смысл вкратце:
Включение настройки register_globals = On, при которой к переменным, передаваемым в PHP-скрипт из html-форм, можно обращаться как к глобальным (напр. $my_local_var = $html_form_varname), может привести к угрозе безопасности сервера.
Подробности см. [url=http://php.net/manual/en/security.registerglobals.php
]http://php.net/manual/en/security.registerglobals.php
[/url]

Поэтому рулите свои скрипты, чтобы они работали при register_globals = Off

fargus
Участник

17
# Дата: 2 Фев 2005 12:29


Вот поэтому как оказалось у мну ничего и нареботает....а в ON никак не поставить?

FReeMan
Участник

24
# Дата: 2 Фев 2005 13:51 ° Поправил: FReeMan


Тебе же сказано - НЕТ!!! Этот параметр выключен и таким и останется ещё долгое, долгое время.

Anonymous


# Дата: 4 Фев 2005 15:46


Не знаю тонкостей, но у меня тоже скрипты не работают, те, которые работали на всех хостингах, которые я знаю, кроме вашего...(((

Понятно...бесплатный сыр он тока в мышеловке...((((

Borman
Участник

1039
# Дата: 4 Фев 2005 16:10 ° Поправил: Borman


Передача параметров методом POST:


<form action="test.php" method="POST">
<input type="text" name="test" size=30>
<input type="submit" name="sub" value="Ok">
</form>
<br>
<?php
$sub = $_POST['sub'];
$test = $_POST['test'];
if ($sub == "Ok")
{
echo "param name test = ".$test;
}
?>


Передача параметров методом GET:


<form action="test.php" method="GET">
<input type="text" name="test" size=30>
<input type="submit" name="sub" value="Ok">
</form>
<br>
<?php
$sub = $_GET['sub'];
$test = $_GET['test'];
if ($sub == "Ok")
{
echo "param name test = ".$test;
}
?>


В общем ни чего сложного.

Anonymous


# Дата: 5 Фев 2005 04:45


Что ты хочешь сказать? мне все скрипты переделывать???
Ну во первых я не дока в php, поэтому и пользуюсь свободными скриптами, а во вторых, любой нормальный хостинг поддерживает большинство скриптов без всяких проблем. А я сменил достаточно разных хостингов и это первый случай, когда практически все не работает. Мне кажется надо тщательней провести настройку аппача...

Max
Участник

20
# Дата: 5 Фев 2005 05:29


Какую тебе настройку? Ее уже провели сделав register_globals = off для повышения безопасности твоего блин ресурса.

Borman
Участник

1039
# Дата: 5 Фев 2005 06:33 ° Поправил: Borman


Для тех, кому интересны особенности настроек PHP на данном хостинге, продолжим...

Передача параметров методом POST, если PHP-скрипт запущен как CGI:


#!/usr/local/bin/php
<?php
echo "Content-type:text/html\n\n";
?>
<form action="test.cgi" method="POST">
<input type="text" name="test" size=30>
<input type="submit" name="sub" value="Ok">
</form>
<br>
<?php
$tmp = fgets (STDIN, 4096);
parse_str ($tmp, $dim_vars);
$sub = $dim_vars["sub"];
$test = $dim_vars["test"];
if ($sub == "Ok")
{
echo "param name test = ".$test;
}
?>


Anonymous


# Дата: 3 Мар 2005 05:00


т.е. автоматический обмен ссылками здесь не пашет? зашибись...
а на holm.ru работает знает кто?

help
Техпомощь

1245
# Дата: 3 Мар 2005 05:21


автоматический обмен ссылками

Что это?

Anonymous


# Дата: 3 Мар 2005 08:16


linkator.ru linq.ru
их скрипты чего т тянут с их сайта, на платном хостинге все работает, у вас нет...
хреновато в общем... безопасность то фиг с ним, все равно все что надо на винте остается, а вот без такого серьезного подспорья в раскрутке, оно как-то скучно...

help
Техпомощь

1245
# Дата: 3 Мар 2005 09:05


Киньте пример кода, который эти системы предлагают устанавливать на ваших страницах.
Разберемся.

Anonymous


# Дата: 3 Мар 2005 10:30


<?php
ini_set('error_reporting','E_ERROR');
$cat = $HTTP_GET_VARS['YLrn'];
$page = $HTTP_GET_VARS['hAAg'];
$url = "http://" . $HTTP_SERVER_VARS['HTTP_HOST'] . $HTTP_SERVER_VARS['REQUEST_URI'];
include("http://www.linkator.ru/?block=164&uin=913657018&suid=86425254 0&page=".$page."&ppage=6&url=".urlencode($url)."&rip=".$HTTP_SERVER_VA RS['REMOTE_ADDR']."&ua=".urlencode($HTTP_SERVER_VARS['HTTP_USER_AGENT' ])."&cat=".$cat);
?>

Anonymous


# Дата: 3 Мар 2005 10:35


<!-- Linq.Ru code -->
<?php
$page = $HTTP_GET_VARS['Linq_RU_page'];
$cat = $HTTP_GET_VARS['Linq_RU_cat'];
$url = "http://" . $HTTP_SERVER_VARS['HTTP_HOST'] . $HTTP_SERVER_VARS['REQUEST_URI'];
ini_set('error_reporting','E_ERROR');
include("http://www.linq.ru/include/?u=4049&siteID=2469&mpp=20&url=".u rlencode($url)."&page=$page&cat=$cat&ua=".urlencode($HTTP_SERVER_VARS[ 'HTTP_USER_AGENT']));
?>
<!-- end of Linq.Ru code -->

Anonymous


# Дата: 4 Мар 2005 03:46


ну как вопрос продвигается? может на платной основе можно сделать?

Borman
Участник

1039
# Дата: 4 Мар 2005 04:54


Для Anonymous'ов исключительно на платной основе. :o)

help
Техпомощь

1245
# Дата: 4 Мар 2005 06:41


Для Anonymous'ов исключительно на платной основе. :o)

Дадим борману заработать? ;)

Borman
Участник

1039
# Дата: 4 Мар 2005 06:51


help Дадим борману заработать? ;)

Не плохо бы было. %) Я сейчас как раз без работы. :)

Anonymous


# Дата: 4 Мар 2005 07:16


скока сдерете, кровопийцы?

Anonymous


# Дата: 9 Мар 2005 10:39


так чего, кина не будет?

admin
powered by admin

7202
# Дата: 9 Мар 2005 11:28


щаззз Борман придёт... ой придёт... :)

Borman
Участник

1039
# Дата: 9 Мар 2005 12:58 ° Поправил: Borman


Пришёл, пришёл. :o) Давно ни захаживал сюда. Повторите вопрос. Что и где не работает? Если имеется в виду это:
т.е. автоматический обмен ссылками здесь не пашет? зашибись...
а на holm.ru работает знает кто?

тогда заархивируй скрипт, выложи его куда ни будь и дай ссылку на архив. Посмотрю. Деньги за помощь можешь перечислить в фонд развития данного хостинга. :o))

tvq12


# Дата: 11 Мар 2005 04:52


Про системы автоматического обмена ссылками вопрос действительно важный. Вот пример скрипта, который эти системы предлагают поставить и он здесь не работает.

<!-- Linq.Ru code -->
<?php
$page = $HTTP_GET_VARS['Linq_RU_page'];
$cat = $HTTP_GET_VARS['Linq_RU_cat'];
$url = "http://" . $HTTP_SERVER_VARS['HTTP_HOST'] . $HTTP_SERVER_VARS['REQUEST_URI'];
ini_set('error_reporting','E_ERROR');
include("http://www.linq.ru/include/?u=3829&siteID=2290&mpp=20&url=".u rlencode($url)."&page=$page&cat=$cat&ua=".urlencode($HTTP_SERVER_VARS[ 'HTTP_USER_AGENT']));
?>
<!-- end of Linq.Ru code -->

ПОЧЕМУ? Помогите разобраться, кто шарит в этом деле.
Всем отозвавшимся заранее GRAND MERSI.

Borman
Участник

1039
# Дата: 11 Мар 2005 05:59


Ок. Сегодня поковыряю...

Borman
Участник

1039
# Дата: 11 Мар 2005 14:08


В конфигурации данного сервера запрещена работа функции include() с внешними адресами. В том виде, в котором представлен скрипт, он работать не будет. Необходимо заменить функцию include() альтернативным кодом, использующим загрузку страницы с удалённого сервера через сокетное соединение. Сейчас у меня нет время писать (когда-то я уже написал такой код, заменяющий fopen(). и опубликовал его на данном форуме). Если в ближайшее время появится окошко, напишу для конкретного случая.

SpiRiT
Участник

69
# Дата: 13 Мар 2005 15:18 ° Поправил: SpiRiT


Этот регист_глобалс меня сейчас чуть до инфаркта не довел, спасибо тем, кто описал проблему и способ решения, а то у меня вся работа засралась бы, а в итоге добавил только 3 строчки.
Кстати на примере своего сайта сразу понял, какую уязвимость открывает включенный регистр_глобалс

ХОРОШО, ЧТО ОН ОТКЛЮЧЕН....

Borman
Участник

1039
# Дата: 13 Мар 2005 22:34


ХОРОШО, ЧТО ОН ОТКЛЮЧЕН....
Для всех остальных, напоминаю, проблемы как таковой нет.

tvq12


# Дата: 14 Мар 2005 05:02


Borman, а может у тебя "окошко" появится побыстрее?

Borman
Участник

1039
# Дата: 14 Мар 2005 11:08


Сегодня, ближе к ночи (по Москве)

tvq12


# Дата: 15 Мар 2005 02:52


Буду ждать. Заранее спасибо Borman за внимание к моим проблемам!

. 1 . 2 . 3 . 4 . >>
Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:44777, gzipped size:11905

Mp3 Download || Webs Studio™ || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]