Есть простенькая гостевая книга: в форме обратной связи 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 тут нет. Возможно, что это решение будет работать даже быстрее чем с базой.
Но вот сама по себе гостевая требует оперативной проверки, лучше премодерации иначе легко попасть в черный список Роскомнадзора.
Если используете "слабый" хостинг, который сильно ограничивает. То это выход, в противном случае лучше реализовывать с использованием БД.
Плюсы подхода:
Минусы:
При дефиците бюджета и не возможности платить несколько сотен за хостинг- рабочий вариант, в противном случае - не стоит так делать
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как переписать сию конструкцию на D7? Не судите строго, Битрикс осваиваю только
Ребят есть ли регулярка заменяющая при выводе кавычки на елочки? Допустим в бд у меня есть запись "Тест" при выводе ее на сайте сменить кавычки...
Изучаю PHP функцию array_filter, на сайте w3school наткнулся на непонятный код,