Помещение простого текста в файл не менее (или более )безопасно, чем размещение HTML. Что касается сервера, HTML — это обычный текст :, то, что передается по сети, — это в точности <html>...</html>
биты, записанные в файле.
В вашем сценарии могут быть другие проблемы с безопасностью, но это не одна из них.
Я бы, однако,поощряйте адаптацию конфигурации вашего веб-сервера, чтобы файл обслуживался как text/plain вместо text/html для технической корректности, хотя практические различия довольно минимальны, (браузеры, вероятно, будут отображать его с фиксированной -шириной вместо переменной ).
Предложение:
#!/bin/bash
while true; do
read -p 'Is signature correct? y/[n]: '
[[ $REPLY == [Yy]* ]] && break
echo 'Ok, asking again...'
done
echo 'Signature accepted'
Это реализует бесконечный цикл, из которого пользователь выходит, вводя строку, начинающуюся с y
или Y
, но которая по умолчанию интерпретирует ввод как «нет».
Если вам нужно проверить Y
, y
, Yes
и yes
(, т. е. обрабатывать такие строки, как yup
, как "нет" ), используйте
case $REPLY in ([Yy]|[Yy]es) break; esac
вместо теста [[... ]]
и break
.