Безопасно ли в PHP SHA256 хэшировать пользовательский контент без предварительной проверки?

Я хочу разрешить пользователям отправлять ввод через textarea сформируйте отправку и выполните хэш SHA256 для представленного текста. Хеш подвержен атаке? Должен ли я «очистить» вход перед хэшированием? И если так, каков наилучший способ приблизиться к этому? Достаточно ли использовать strip_tags или я могу преобразовать вход, выполнив htmlspecialchars() функция на строке и т. д.

Пример кода будет

    <html>
<head>
<title>SHA256 on user input</title>
</head>

<body>

<?
if ($_SERVER['REQUEST_METHOD'] != 'POST' || empty($_POST['hashThis']) ):
?>
<form name="user_data" method="POST" action="">
<textarea name="hashThis"></textarea>
<input type="submit" name="submit" value="submit" />
</form>
<?
else:
echo hash('sha256', $_POST['hashThis']);
endif;
?>
</body>

</html>

0

Решение

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

1

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

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

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