Безопасный способ вывода текста из сокета.

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

Например, текст, который мы передаем через сокет:

This book is a treatise on the theory of ethics, very popular during
the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit
amet..", comes from a line in section 1.10.32.;?> <?php die("malicious"); ?>

Вопрос состоит в том, чтобы повторить вывод, лучший способ выполнить это, эти файлы могут реально содержать что-нибудь, но они будут считаны в поток и затем напечатаны на странице. (надеюсь, в виде простого текста)

В настоящее время я использую strip_tags на выходе.

echo strip_tags($output);

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

Спасибо.

0

Решение

Вы могли бы отправить

header('Content-type: text/plain');

в начале сценария. В этом случае браузер не должен пытаться визуализировать любой вывод скрипта как HTML.

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

echo htmlentities($output);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]