upload, store and select image (MySQL etc.)

Фанат

oncle terrible
Команда форума
под раздачу могут попасть переменные, никоим образом не причастные к передаваемым параметрам.
совершенно верно.
передать имя какой-нибудь служебной переменной, и наш код радостно её затрет.

а при рождении - не попадают. во-первых, рождение может быть отключено. но это не главное. главное - что при рождении сначала родятся переменные из реквеста, а потом системные. И именно они затирают реквест, если придет какой нехороший.
А вот этот код исполняется уже после всех рождений. И все затрет.

А единственно правильным (и очевидным) решением проблемы является инициализауия всех используемых переменных.

Я все правильно понял?
опять переспрашиваешь. хотя с глобалсами была точно такая же история.
 

x-yuri

Новичок
то эта установка, как таковая, вообще не имеет смысла - все уже украдено до нас? Я все правильно понял?
ты учитывай, что php-скрипты просто обрабатывают запросы, а не состоявляют постоянно выполняющееся приложение. И экранирование выполняется перед каждым запуском php-скрипта (если включено)

главное - что при рождении сначала родятся переменные из реквеста, а потом системные. И именно они затирают реквест, если придет какой нехороший.
А вот этот код исполняется уже после всех рождений. И все затрет
если перед foreach никаким переменным не будут присваиваться значения, то он ничего не затрет. Но, в любом случае, лучше инициализировать переменные перед использованием, чем писать такой foreach
 

Фанат

oncle terrible
Команда форума
ну как это не затрет? как это не будут присваиваться? $_SERVER у тебя пустой, что ли?
 

fixxxer

К.О.
Партнер клуба
самый простой способ не зависеть от register_globals - не использовать глобальные переменные и не писать вообще никакого кода в global scope;)

PHP:
<?php

function main() {
    ....
}

main();
 

x-yuri

Новичок
А можете дать людський тынць а-ля? Чтобы, так сказать, устаканить для себя что за чем в PHP дергаецо и кто кому Рабинович...
в двух словах: Apache получает запрос, передает его php-скрипту (если запрос - для php), вывод php отправляется браузеру. Подробнее здесь (хоть это не конкретно о php и php сейчас, в основном, работает как модуль Apache)

по поводу настроек - для каждой указано, где ее можно изменять (http://www.php.net/manual/en/ini.list.php). Некоторые, как видишь, можно изменить в скрипте (до php-4.2.3 для magic_quotes_gpc), но смысла в этом нету
 
Сверху