Функции Язык программирования PHP

arsort

(PHP 3, PHP 4)

arsort - сортирует массив в обратном порядке и сохраняет ассоциацию индексов.

Описание

void arsort (array array [, int sort_flags])

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

Пример 1. arsort()
$fruits 
= array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple"); 
arsort ($fruits); reset ($fruits); while (list ($key, $val) = each ($fruits)) 
{ echo "$key = $val\n"; }

Этот пример выведет:
a = orange d = lemon b = banana c = apple

Фрукты сортируются в обратном алфавитном порядке, и сохраняется индекс, ассоциированный с каждым элементом.

Вы можете изменить поведение sort необязательным параметром sort_flags, детали см. в sort().

См. также asort(), rsort(), ksort() и sort().

Apache-модуль

Когда PHP используется как Apache-модуль, он наследует пользовательские права доступа Apache'а (обычно это пользователь "nobody"). Это оказывает влияние на обеспечение безопасности и авторизации. Например, если вы используете PHP для доступа к базе данных, и если эта БД не имеет встроенного контроля доступа, вы должны будете обеспечить доступ к этой БД для пользователя "nobody". В этом случае зловредный скрипт может получить доступ к БД и изменить её, даже не имея имени и пароля. Тогда хакер сможет получить доступ к web-странице администратора БД и уничтожить все ваши БД. Защититься от этого можно с помощью авторизации Apache, или разработав вашу собственную модель доступа с использованием LDAP, .htaccess-файлы, etc. и включив этот код как часть ваших PHP-скриптов.

Часто, когда безопасность установлена на таком уровне, где PHP-пользователь (в данном случае - пользователь Аpache) имеет минимальный риск вторжения, обнаруживается, что у PHP отсутствует возможность записывать в любые файлы пользовательских директорий. Или, возможно, отсутствует возможность доступа к, или изменения, БД. Поставлена защита от записи как "хороших", так и "плохих" файлов, или выполнения как "хороших", так и "плохих" транзакций.

Обычной ошибкой бывает в этом случае предоставление доступа apache root или расширение возможностей Аpache'а каким-нибудь другим способом.

Увеличение пользовательского доступа Apache'а к корневой директории/root очень опасно и может завалить всю систему, поэтому sudo, chroot или другой подобный запуск как root не должен выполняться теми, кто не считает себя профессионалами в вопросах безопасности.

Есть несколько простых решений. Используя open_basedir, вы можете управлять ограничением количества директорий, которые могут использоваться PHP. Вы можете также установить области apache-only, ограничив web-активность не-пользовательскими или не-системными файлами.