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

hw_GetText

(PHP 3>= 3.0.3, PHP 4)

hw_GetText - запрашивает текстовый документ.

Описание

int hw_gettext (int connection, int objectID [, mixed rootID/prefix])

Возвращает возвращает документ с object ID objectID. Если этот документ имеет якоря, которые могут быть вставлены, они будут вставлены. Необязательный параметр rootID/prefix может быть строкой или целым числом. Целое число определяет, как ссылки вставляются в документ. По умолчанию 0, т.е. ссылки конструируются из имени объекта назначения ссылки. Это используется для web-приложений. Если ссылка указывает на объект с именем 'internet_movie', HTML-ссылка будет <A HREF="/internet_movie">. Реальное расположение объекта источника и объекта назначения в иерархии документа игнорируется. Вы должны будете настроить ваш web-браузер на перезапись этого URL на, к примеру, '/my_script.php3/internet_movie'.
'my_script.php3' должен будет вычислять $PATH_INFO и запрашивать документ. Все ссылки будут иметь префикс '/my_script.php3/'. Если вам это не нужно, вы можете установить необязательный параметр rootID/prefix на любой необходимый префикс. В этом случае он должен быть строкой.

Если rootID/prefix это целое число, не равное 0, ссылка конструируется из всех имён, начиная с объекта с id rootID/prefix, разделённых слэшем, относительно текущего объекта. Если, к примеру, документ 'internet_movie' размещён в 'a-b-c-internet_movie' с '-' в качестве разделителя уровней иерархии на Hyperwave-сервере, а документ-источник размещён в 'a-b-d-source', результирующая HTML-ссылка может быть: <A HREF="../c/internet_movie">. Это используется, когда нужно загрузить содержимое всего сервера на диск и отобразить иерархию документов в файловую систему.

Эта функция будет работать только для чисто текстовых документов. Она не открывает специальное соединение данных и, следовательно, не блокирует управление соединением в ходе трансфера.

См. также hw_pipedocument(), hw_free_document(), hw_document_bodytag(), hw_document_size() и hw_output_document().


Назад Оглавление Вперёд
hw_GetSrcByDestObj Вверх hw_getusername

Пример 4-12. Использование обычных переменных отладки

<form 
method="post" action="attacktarget?errors=Y&amp;showerrors=1"&debug=1"> 
<input type="hidden" name="errors" value="Y"> <input type="hidden" 
name="showerrors" value="1"> <input type="hidden" name="debug" value="1"> 
</form>

Независимо от метода обработки ошибок, возможность проверки системы на наличие ошибок приведёт к снабжению хакера дополнительной информацией.

Например, стиль общей PHP-ошибки указывает систему, на которой запущен PHP. Если хакер просмотрит .html-страницу и захочет проверить её (найти известные утечки в системе), заполнив её неправильными данными, он сможет определить, что система построена с PHP.

Ошибка функции может указать, запущена ли на системе конкретная машина БД, или дать ключ к тому, как web-страница сконструирована или запрограммирована. Это позволит глубоко внедриться в открытый порт БД или найти специфический bug или утечку в web-странице.
Вводя разные блоки неверных данных, например, хакер может определить порядок аутентификации в скрипте (по номерам строк с ошибками), а также попробовать использовать то, что может иметься в разных частях скрипта.

Ошибка файловой системы или общая ошибка PHP может указать на то, какие привилегии имеет web-сервер, а также на структуру и организацию файлов на web-сервере. Записанный разработчиком код ошибки может усугубить эту проблему, приведя к лёгкому способу использования ранее "скрытой" информации.