Intereting Posts

когда использовать функцию htmlspecialchars ()?

Привет, мне было интересно, когда это подходящее место для использования htmlspecialchars (). Должно ли это вставлять данные в базу данных или извлекать их из базы данных?

Solutions Collecting From Web of "когда использовать функцию htmlspecialchars ()?"

Этот метод следует вызывать только при повторном отражении данных в HTML.

Не храните экранированный HTML в своей базе данных; это просто сделает запросы более раздражающими.
База данных должна хранить ваши фактические данные, а не их HTML-представление.

Вы используете htmlspecialchars КАЖДЫЙ раз, когда вы htmlspecialchars контент в HTML, поэтому он взаимодействует как контент, а не HTML.

Если вы разрешаете контент обрабатываться как HTML, вы как минимум открыли дверь для ошибок, как минимум, и в целом худшие XSS.

Сохраните то, что пользователь вводит в базу данных. затем, показывая его публике, используйте htmlspecialchars() , чтобы он предлагал некоторую защиту xss.

Guide – Как использовать функцию htmlspecialchars () в PHP

Для начала вам нужно понять одну простую концепцию: Render.

Что такое рендер? Render – это когда преобразования HTML

 <b>Hello</b> 

для смелой, как этот Hello . Это рендер.

Итак … Когда использовать функцию htmlspecialchars ()?

Везде, где вы хотите отображать содержимое HTML. Например, если вы используете JQuery, и вы делаете это:

 $("#YourDiv").html("<b>Hello</b>"); 

Содержимое div будет Hello . Он превратил текст в HTML.

Если вы хотите отобразить сообщение таким образом (было написано пользователем):

 <b>Hello</b> 

вы должны поставить:

 $("#YourDiv").text("<b>Hello</b>"); 

Таким образом, Hello никогда не будет отображаться.

Если вы хотите загрузить сообщение (как написано пользователем) в текстовое поле, текстовое поле и т. Д. Вы должны поставить:

 <input type="text" class="Texbox1" value=""> <script> $(".Textbox1").val("<b>Hello</b>"); </script> 

Это отобразит

  <b>Hello</b> 

Внутри текстового поля без проблем.

Вывод:

Какие данные будут вводиться пользователем в ваши формы и т. Д. Сохраните данные как обычно. Не используйте никаких функций. Если пользователь отправил 12345, сохраните его как есть. Не фильтруйте ничего. Вам нужно только фильтровать, когда вы собираетесь отображать данные на странице пользователям. ВЫ, ТОЛЬКО ВЫ решаете, хотите ли вы сделать или нет то, что написал пользователь. * Помни об этом.

С уважением!