Я знаю что при желании можно обратно вернуть код в читаемый вид и это скорее как защита от ленивых, но все же.
У меня есть файлы php где написан js подключаемые в php через include, в тех файлах читаемый код, как мне сделать их читаемыми через просмотр в ftp, но не читаемыми, но исполняемыми через фронтенд?
Идея умная и полезная но в реализации сложная. Яваскрипт код является публичным и потому должен быть открытым, скрытая часть остается на сервере. Если ты хочешь с сервера вываливать скрытую часть так чтобы она открылась придется хитрить по типу пары ключей и рукопожатия. То есть часть кода которая расшифровывает остальной открыта но просит у сервера ключ с помощью которого его можно распаковать. Формально там может быть как билиберда так и просто двоичка переданная в base64, а потом перед выполнением она расшифровывается. Но это тоже иллюзия скрытости, расшифрованный код с помощью консоли все равно превратится в открытый и будет через девконсоль вести на точки останова. Так что защищенное на серваке, а незащищенное на клиенте, да.
Возможно ты ищешь не шифрование а минификацию и тут вебпак в помощь, пакет симфони/енкоре и тд. Но тут много вещей надоивыучить и сломать голову чтобы знать как это запилить. Попробуй, шифрование еще сложнее хотя знать требуется меньше
Григорий Васильков, ладно, понял слишком сложно, игра не стоит свеч) это немного моя параноя, сайт на WP, все запросы к бекенду заказчик хочет что бы были через ajax, тоесть без перезагрузки, nonce для защиты использую, но сам уже проверил что nonce обновляется не часто и это хилая защита от самовольных запросов, а за большую защиту мне и не доплачивали, так что подумал что хотя бы так смогу немного карму себе подправить и не брать на себя лишнего.
Я сейчас как раз сайт паршу вордпрессный. Открываешь любую страницу, забираешь регуляркой ajax_nonce(), парсишь апи. Не защитишься особо.
Все фронт операции стучаться на бек чтоб получать новые данные, которые обычно в json-е и идут. Кто-то выбрасывает из апи хтмл кусками, но и его можно спарсить. Если прям защиту то да - надо найти либу типа той что есть в фалконе, которая любую строку ключем кодирует в base64binary и даже если её расшифровать без ключа - будет бяка. Опять же либу придется изучать, а криптолибы они зарраза гениями написаны, там сдвиги побитовые, сильный левелап поймаешь если разберешься, но убьешь пару недель. И тебе придется взять эту либу для пыхи, скопировать её код, написать её же вручную для яваскрипта, чтобы js мог обратно декодить, и спрятать либу поглубже в яваскрипт.
Потом с помощью такого вот nonce делается запрос на апи "дай ключ". Ключ приходит. А чтобы понять что с ним дальше делать нужно читать весь код твоего яваскрипта, потому что какая-то функция в 1337 файле, который еще и вебпаком собран и фиг знает где лежит и минифицирован, используя этот ключ, внутри дешифрует тот пипец который пришел из апи в виде base64 и сует его в переменные, которые на рантайме хоть и видны, но поймать сложно. Опять же эта функция вполне может быть приватной, то есть вебпак её замкнет в обьект так что вызвать её только изнутри обьекта можно будет.
В итоге он даже если сможет отобразить на рантайме js переменную со значениями делать это автоматом сильно устанет. Придется подрубать безголовый браузер и может быть даже для него докер настраивать на сервере, такое единицы могут, кто не занимается таким, потому что СТОЛЬКО не заплатят.
А ещё есть nodejs и пакет кажется cherrio. Который нормально хавает с сервака не только верстку, но и условные эффекты, то есть яваскрипт. То есть ты задолбаешься чтобы с апи шифровать, а эта свинота безголовым браузером или такой либой просто спарсит "что вижу то паршу" и всё.