Есть простенькая гостевая книга: в форме обратной связи 2 поля (имя и комментарий), аяксом данные отправляются на сервер и обратно выводятся на этой же странице.
С базой данных для такой задачи решил не заморачиваться и реализовал запись в файл и чтение из него:
$name = $_POST['name'];
$text = $_POST['text'];
if($name && $text) {
$filename = 'file.txt';
$content = file_get_contents($filename);
$html = '<p><b>'.$name.'</b></p><p>'.$text.'</p><br />'.$content;
file_put_contents($filename, $html, LOCK_EX);
$content = file_get_contents($filename);
echo $content;
}
Но есть некоторые сомнения относительно того, насколько корректно это будет работать. Прошу совета опытных разработчиков: какие есть риски в такой реализации? Можно ли положиться на такой вариант или всё-таки создавать базу, туда всё писать, оттуда выводить и т.д.?
Для принятия решения необходимо найти опасные моменты.
Если, для записи в файл необходимо пройти проверку на робота, то записей будет немного. Чтение осуществляется с общего файла, открытий тоже будет не много. Выходит что опасности для DDOS тут нет. Возможно, что это решение будет работать даже быстрее чем с базой.
Но вот сама по себе гостевая требует оперативной проверки, лучше премодерации иначе легко попасть в черный список Роскомнадзора.
Если используете "слабый" хостинг, который сильно ограничивает. То это выход, в противном случае лучше реализовывать с использованием БД.
Плюсы подхода:
Минусы:
При дефиците бюджета и не возможности платить несколько сотен за хостинг- рабочий вариант, в противном случае - не стоит так делать
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости