• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 запрос на эту страницу и решать, давать доступ или нет?
 
Сверху Снизу