Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 78

Возможно ли скрыть JS файл или его содержимое?

12.05.2019, 16:26. Показов 1190. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Кто знает как решить следующую задачу (если она вообще решаемая)?

Имеется JS код, который запоминает в куках браузера последнюю посещенную посетителем страницу, чтобы впоследствии отправлять его на эту страницу при повторных заходах. Все работает хорошо, но есть одно но, JS-файл, который содержит список этих "секретных" страниц (secret2.html, secret3.html, secret4.html) виден в браузере если смотреть через код элемента.

Вопрос - возможно ли как-то скрыть для посторонних глаз сам JS файл ну или список страниц в этом файле?

JS-файл, содержимое которого нужно скрыть:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
var cookee_page_id;
var pages = [
    {id: 1, page: "index.html"},
    {id: 2, page: "secret2.html"},
    {id: 3, page: "secret3.html"},
    {id: 4, page: "secret4.html"}
    ];
 
 
function setCookie(name, value, days) {
    var date = new Date();
    date.setTime(date.getTime() + (days*24*60*60*1000));
    var expires = "; expires=" + date.toGMTString();
    document.cookie = name + "=" + value + expires;
}
 
function readCookie(name) {
    var n = name + "=";
    var cookie = document.cookie.split(';');
    for(var i=0;i < cookie.length;i++) {
        var c = cookie[i];
        while (c.charAt(0)==' '){c = c.substring(1,c.length);}
        if (c.indexOf(n) == 0){return c.substring(n.length,c.length);}
    }
    return null;
}
 
function redirectPage(page_id){
    var page;
    for (var i = 0; i < pages.length; i++) {
        if (pages[i].id == page_id)  {
            page = pages[i].page;
            break;
        }
    }
    window.location.href = page;
    document.location = page;
    
    
    // location.reload();
}
 
function load() {
    cookee_page_id = readCookie('page_id');
    if(cookee_page_id == null) {
        setCookie('page_id', page_id, 30);
    }
    // console.log(cookee_page_id);
}
 
function init() {
    if(cookee_page_id != null) {
        if(+page_id < +cookee_page_id) {
            redirectPage(cookee_page_id);
        }
        if(+page_id > +cookee_page_id) {
            setCookie('page_id', page_id, 30);
        }
    }
}
 
 
window.onload = function() {
    load(),
    init();
};
 
load();
init();
 
 
history.pushState(null, null, location.href);
window.onpopstate = function(event) {
    history.go(1);
};

Это то что в Html на главной:

JavaScript
1
<script>var page_id = 1;</script>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.05.2019, 16:26
Ответы с готовыми решениями:

Копировать содержимое одного указанного файла в другой указанный файл, дописывая, а не стирая его содержимое
Dragokas, Помогите пожалуйста с заданием! Задание 3. Написать командный файл, копирующий содержимое всех файлов, записанных в задании...

Скрыть вкладку TabControl или все ее содержимое
Добрый день, Господа. Что то не могу найти легкого решения, по средствам опции, как я читал в интернете, вроде нельзя...баг или просто...

Возможно ли скрыть окно консольного приложения при его выполнении?
Запускается консольное приложение (время отработки где то 2-3 сек). запускается из программы на delphi командой ShellExecute. Мне...

4
76 / 52 / 26
Регистрация: 04.04.2019
Сообщений: 191
12.05.2019, 18:56
JS код скрыть не получится.
Но зато описанную вами задачу можно легко реализовать на серверной стороне.
Делайте проверку cookie на PHP, и в зависимости от результата перенаправляйте пользователя на нужную страницу.

Но при этом нужно учитывать, что cookie хранятся в браузере пользователя, и он может самостоятельно изменить или записать туда любое значение.
0
0 / 0 / 0
Регистрация: 07.06.2016
Сообщений: 78
12.05.2019, 20:04  [ТС]
Цитата Сообщение от imaster Посмотреть сообщение
Но зато описанную вами задачу можно легко реализовать на серверной стороне.
А вы не поможете это сделать?
0
76 / 52 / 26
Регистрация: 04.04.2019
Сообщений: 191
12.05.2019, 20:41
Цитата Сообщение от Siurendy Посмотреть сообщение
А вы не поможете это сделать?
Ну полностью весь код за вас я писать не буду.
Подробнее о работе с куки в php можете почитать в документации https://www.php.net/manual/ru/features.cookies.php
Если будут конкретные вопросы - пишите, помогу.
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
13.05.2019, 01:05
Цитата Сообщение от Siurendy Посмотреть сообщение
JS-файл, содержимое которого нужно скрыть:
Попробуйте вместо кода который идет после фразы выше вставить этот код:
JavaScript
1
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('5 9;5 h=[{f:1,6:"K.k"},{f:2,6:"J.k"},{f:3,6:"L.k"},{f:4,6:"M.k"}];8 m(g,v,u){5 j=I P();j.H(j.F()+(u*G*t*t*N));5 s="; s="+j.Q();l.e=g+"="+v+s}8 C(g){5 n=g+"=";5 e=l.e.Y(\';\');y(5 i=0;i<e.d;i++){5 c=e[i];U(c.R(0)==\' \'){c=c.w(1,c.d)}a(c.V(n)==0){x c.w(n.d,c.d)}}x b}8 z(7){5 6;y(5 i=0;i<h.d;i++){a(h[i].f==7){6=h[i].6;T}}p.r.D=6;l.r=6}8 o(){9=C(\'7\');a(9==b){m(\'7\',7,A)}}8 q(){a(9!=b){a(+7<+9){z(9)}a(+7>+9){m(\'7\',7,A)}}}p.X=8(){o(),q()};o();q();B.W(b,b,r.D);p.S=8(E){B.O(1)};',61,61,'|||||var|page|page_id|function|cookee_page_id|if|null||length|cookie|id|name|pages||date|html|document|setCookie||load|window|init|location|expires|60|days|value|substring|return|for|redirectPage|30|history|readCookie|href|event|getTime|24|setTime|new|secret2|index|secret3|secret4|1000|go|Date|toGMTString|charAt|onpopstate|break|while|indexOf|pushState|onload|split'.split('|'),0,{}))
и проверьте на работоспособность,
код ниже оставьте без изменений:
JavaScript
1
<script>var page_id = 1;</script>
Если вас устраивает такой вариант- то погуглите про обфускаторы. Пример кода что я привел выше получен при обфускации вашего кода здесь -> https://www.daftlogic.com/proj... scator.htm
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.05.2019, 01:05
Помогаю со студенческими работами здесь

Как открить файл .pack или как его перевести в C# если возможно
Здравтсвуйте яб хотел узнать на каком язике написан етот файл .pack я его откривал через Microsoft Visual Studio 2008 код какото уже...

Поместить все компоненты приложения в один файл или скрыть во избежание модификации или замены
Во время работы накопилось огромное количество jpg и dll файлов в папке debug. Как это всё запихать в один файл или скрыть, чтоб не было...

Создайте текстовый файл f1. Перепишите его содержимое в файл f2, сохраняя строчную структуру и удаляя пустые с
Создайте текстовый файл f1. Перепишите его содержимое в файл f2, сохраняя строчную структуру и удаляя пустые строки.

Дан тестовый файл. Вывести его содержимое в другой файл, заменив каждое вхождение пробела на символ нижнего подчеркивания.
Дан тестовый файл. Вывести его содержимое в другой файл, заменив каждое вхождение пробела на символ нижнего подчеркивания. Вывести оба...

Найти файл и показать его содержимое
Написать батник, который 1) Запрашивает у пользователя имя файла 2) Если файл существует, выводит его содержимое на экран 3) Если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru