• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Доступ к файлу, странице. SPIFFS. AsyncWebServer

VicSpectator

New member
Здравствуйте.
Запилил себе асинхронный веб-сервер по образу и подобию :) Среда Arduino IDE. Страницы веб-сервера храню в SPIFFS. Но хотел скрыть от людских глаз используемые файлы, например *.js, *.css и подобные. То есть чтобы они на сайте работали, но не отображалось их содержимое при прямом переходе по адресу этого файла. Как можно идентифицировать такой запрос? Пробовал обрабатывать GET-запрос по адресу файла так, чтобы сервер выдавал свой текст, а не файл, но тогда файл JS на сайте не работает. В какую сторону копать?
 

Юрий Ботов

Moderator
Команда форума
Смотря какая цель... Скрыть сам код - практически никак (в любом достаточно мощном браузере есть девелоперский режим в котором весь загруженный код видно включая воркеры). Из методов частичного сокрытия: хранить (в открытом виде...) у клиента "диспетчера" который загружает какой-то кусок кода через ajax, сует его в объект, исполняет, и рубит этот объект чтобы потом его не было видно... Ну и естественно ремапинг на сервере - по запросу X выдавать файл Y, (не забыть передавать правильные http параметры).
 

NeoroN

Member
CSS можешь даже не пытаться скрыть. Java еще можно как то зашифровать, обфусцировать. Можно также проверять заголовки в них referer - откуда происходит запрос, с какой страницы(но знающим даже в таком режиме не составит труда вытащить файл).
 

VicSpectator

New member
Ок. Половина вопроса решена. Спасибо. Прятать файлы веб-страницы не буду. А остальные файлы, редактируемые ESP'шкой и хранимые в SPIFFS (логи, журналы...), спрятать возможно?
 

NeoroN

Member
Ну все что относится к вебстранице хранить в /www что явно прописать в вебсервере - добавляя к любому пути имя папки(documentroot пареметр). Остальные файлы хранить в других папках - чтобы то как предоставлять доступ кэтим файлам решала уже сама программа.
 

pvvx

Активный участник сообщества
А чем плох HTTPDS (SSL) сервер c динамическими страницами? Например, создание страницы из данных, получаемых через websocket? Тут видно только одно препятствие – ESP8266. :)
 

VicSpectator

New member
А чем плох HTTPDS (SSL) сервер c динамическими страницами? Например, создание страницы из данных, получаемых через websocket? Тут видно только одно препятствие – ESP8266. :)
[off]Я, кажется, догадываюсь, в какую сторону направлено это сообщение :) Я бы пересел на другой чип, но по деньгам дешевле не найти. Да и сообщество у ESP получше. Посмотрим, может быть созрею позже. Мне бы ещё разобраться, чем TCP-клиент/сервер отличается от веб-сокета. То есть разобраться вообще в этих сетевых технологиях. А SSL освоить тоже хочу.[/off]
Остальные файлы хранить в других папках - чтобы то как предоставлять доступ кэтим файлам решала уже сама программа
А как эта программа будет решать? Просто смотреть GET/POST запрос на эту страницу и решать, давать доступ или нет?
 
Сверху Снизу