Удаление тегов HTML

При обработке введенного текста необходимо обратить внимание на следую­щую деталь, в особенности, если строку потом планируется отображать. Пользо­ватель может использовать при наборе текста теги HTML (в том числе и выраже­ния на JavaScript) что может повлиять на корректность работы приложения при использовании этого текста для формирования страницы. Для предотвращения этой ситуации можно использовать функцию strip_tags, которая удаляет из заданной строки все теги, что и продемонстрировано в примере.

code: #php
<HTML>
<HEAD>
<TITLE>Удаление тегов</TITLE>
</HEAD>
<BODY>
<CENTER>
<H1>Удаление тегов</H1>
<?php
 
$errors = array();
 
if (isset($_REQUEST["seen_already"])) {
  validate_data();
  if (count($errors)>0)) {
    display_errors();
    display_form();
  } else {
    process_data();
  }
} else {
  display_form();
}
 
function validate_data() {
  global $errors;
  if ($_REQUEST["Name»] == "") {
    $errors[] = "<FONT COLOR='RED'>Имя обязательно для заполнения</FONT>";
  }
}
 
function display_errors() {
  global $errors;
 
  foreach ($errors as $err) {
    echo $err, "<BR>";
  }
}
 
function process_data() {
  echo "Ваше имя:   ";
  $ok_text = etrip_tags ($_REQOEST["Name"]);
  echo $ok_text;
}
 
function display_form() {
  echo "<FORM METH0D='POST' ACTI0N='phpstrip.php'>";
  echo "Введите Ваше имя"; echo "<BR>";
  echo "<INPUT NAME='Name'  TYPE='TEXT'>";
  echo"<BR><BR>";
  echo "<INPUT TYPE='SUBMIT' VALUE='OK'>";
  echo "<INPUT TYPE='HIDDEN' NAME='seen_already' VALUE='data'>";
  echo "</FORM>";
}
?>
</CENTER>
</BODY>
</HTML>

Теперь, если пользователь введет текст, содержащий HTML-теги, то при формировании страницы теги будут удалены, и потенциаль­ная угроза безопасности приложения будет устранена.

результат выполнения примера
Книга: PHP в примерах. Купить книгу
Автор: Стивен Хольцнер. Переводчик: С. Банников
Поделиться:

Похожие статьи: