Функция e
Функция e применяется для преобразования специальных символов
HTML в их безопасные эквиваленты. Это помогает предотвратить
XSS-атаки при выводе пользовательских данных в представлениях.
Функция принимает строку в качестве единственного параметра
и возвращает экранированную строку.
Синтаксис
<?php
e($string);
?>
Пример
Давайте экранируем строку с HTML-тегами:
<?php
$str = '<h1>Hello, World!</h1>';
$res = e($str);
echo $res;
?>
Результат выполнения кода:
"<h1>Hello, World!</h1>"
Пример
Использование функции e в Blade-шаблоне для вывода данных пользователя:
<div>
<p>Name: {{ e($user->name) }}</p>
<p>Bio: {{ e($user->bio) }}</p>
</div>
Результат выполнения кода при передаче данных из контроллера:
<div>
<p>Name: John & Doe</p>
<p>Bio: <script>alert('xss');</script></p>
</div>
Пример
Экранирование строки с кавычками и специальными символами:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\View;
class UserController extends Controller
{
public function show()
{
$content = 'Hello "World" & welcome!';
$safeContent = e($content);
echo $safeContent;
}
}
?>
Результат выполнения кода:
"Hello "World" & welcome!"
Пример
Использование функции e для экранирования массива данных:
<?php
$data = ['abc', 'de fg', '<h1>hi</h1>'];
$res = array_map('e', $data);
print_r($res);
?>
Результат выполнения кода:
["abc", "de fg", "<h1>hi</h1>"]