Как в клиентском js записать данные в файл, который лежит на сервере?
У меня есть сайт, который лежит на сервере. На сервере есть текстовый файл. Как сделать так, что бы когда клиент заходит на сайт в этот файл записывалась информация?
Ответы (2 шт):
Напрямую из клиентского JavaScript, работающего в браузере пользователя, записывать данные в файл на сервере нельзя из соображений безопасности.
Для этого вам необходим серверный скрипт (на PHP, Python, Node.js, C# или др.), который будет принимать данные от клиента (например, через POST-запрос) и уже сам записывать их в файл на сервере.
Клиентский JavaScript должен отправлять данные на специальный URL (API endpoint) вашего сервера.
Примерный сценарий:
- Клиентский JS собирает нужную информацию.
- С помощью XMLHttpRequest отправляет эту информацию на ваш серверный endpoint (например, /log-visit).
- Серверный скрипт, обрабатывающий /log-visit, получает данные и записывает их в нужный файл на сервере.
Полезные ссылки:
- Использование Fetch API (для отправки запросов с клиента): https://developer.mozilla.org/ru/docs/Web/API/Fetch_API/Using_Fetch
- Обзор клиент-серверной модели: https://developer.mozilla.org/ru/docs/Learn_web_development/Extensions/Server-side/First_steps/Client-Server_overview
Если бы это можно было бы сделать, злоумышленник смог бы через Инструменты разработчика подменить данные и заставить сервер записать в файл неправильные данные, что недопустимо.