|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||||||||||
Eval против JSON.parse11.11.2025, 17:46. Показов 2621. Ответов 78
Метки нет (Все метки)
Сразу скажу, использовал оба метода, переключился на JSON.parse пожалуй больше из соображений более быстрого написания кода на php (хотя и повлияла встреченная где-то фраза, что eval работает медленно).
Но сейчас решил разобраться из чисто теоретического интереса: почему плохо и плохо ли использование eval в таком применении: В php формируется строка типа:
js
0
|
|||||||||||
| 11.11.2025, 17:46 | |
|
Ответы с готовыми решениями:
78
Отловить ошибку в JSON.parse (переварить не JSON) SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
|
|
3847 / 1709 / 431
Регистрация: 14.03.2022
Сообщений: 4,369
|
|||
| 15.02.2026, 09:35 | |||
![]() ![]() А клиенту передавать лишь результат. А это какие-то данные.
0
|
|||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||
| 15.02.2026, 12:55 [ТС] | ||
|
0
|
||
|
1294 / 1271 / 190
Регистрация: 21.01.2024
Сообщений: 5,884
|
||
| 15.02.2026, 13:16 | ||
|
Еще раз. Скрипты на сервере и на клиенте должны быть независимы друг от друга. Связь только по данным. Разработчик может как угодно менять серверный скрипт, не трогая браузерный, лишь бы посылались нужные данные. Можно менять как угодно браузерные скрипты, не думая, что там на сервере, лишь бы данные правильно обрабатывались. Добавлено через 5 минут В браузере нет никакой "секретности". Все, что приходит по сети в браузер может видеть кто угодно. Даже если это "зашифрованные" данные, то проходя в отладчике по шагам исполнение кода, можно дойти до места, где они будут "расшифрованы".
0
|
||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 15.02.2026, 13:34 [ТС] | |||
|
voraa, просто привел пример, что кроме данных возможно на мой пока еще неопытный взгляд выполнение действия на клиенте (причем я думал и о первом и о втором). Ранее считал через eval. После вчерашних комментариев понял так, что возможно с использованием <script>. Ну а еще вчера увидел, возможно (пока не проверил) , иной вариант выполнения кода (думаю, о нем не упоминалось на форумах. Хотя, как говорится, "ничто не ново под луной")
0
|
|||
| 15.02.2026, 14:02 | ||||||||||||||||||
|
Аутентификация, авторизация, https. Чужие данные закрываются исключительно разграничением прав доступа на стороне бекенда. JS тут вообще не при чем (если конечно вы не решите бек перевести на js + node.js). Если у вас фронт начинает заниматься ограничением доступа к данным - это значит, что данные уже публичны. Добавлено через 7 минут 1. вариант. тоже "не совсем" безопасен. если вы где сделаете дыру позволяющую, прочитать содержимое любого файла на вашем сервере, или, даже собьете настройки вашего сервера и все php файлы будут отдаваться как есть, а не отправляться интерпретатору php
1
|
||||||||||||||||||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 15.02.2026, 14:11 [ТС] | |||
|
Спасибо, voral, но пока все это только в мыслях, как говорится думаю над алгоритмом - на первом этапе постараюсь минимизировать работу с персональными данными, а, если получится, вообще избежать их.
0
|
|||
| 15.02.2026, 14:17 | ||
|
По сути шифрование может быть полезным если: 1. Передаете некие данные которые есть необходимость хранить в куках или localStorage. Но расшифровывать на фронте их НЕ надо. Т.е. когда потребуется так же в зашифрованном виде фронт их передает на бек, на бек производится дешифровка (ну или сверка по хешу) 2. если вы создаете АПИ, т.е. запрос выполняет не браузер, а другой сервер, т.е. "абы кто" не видит как это все используется и дешефруется.
0
|
||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||
| 15.02.2026, 14:26 [ТС] | ||
|
Спасибо, voral, за добавленные примеры. Повторюсь, пока в этом нет необходимости.
В свое время думал, что php знаю неплохо, потому что считал, что смогу написать на нем любую задачу. Но уже сейчас, в процессе работы над сайтом понял что и по нему у меня очень много пробелов. Добавлено через 6 минут Но есть еще, например, такой вариант: неизвестно откуда появилась переменная, непонятно что содержит, самое главное, неизвестно и соответственно непонятно ее назначение. И в общей массе других переменных на нее можно и не обратить внимание. (увы, как понял, пока нереализуемый)
0
|
||
|
213 / 74 / 19
Регистрация: 29.02.2016
Сообщений: 383
|
||
| 15.02.2026, 14:33 | ||
|
0
|
||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 15.02.2026, 14:40 [ТС] | |||
|
Добавлено через 3 минуты М.б. об этом правильнее не следовало бы писать, но, решил, что мне не жалко (даже, если и реализую) - придумаю еще что-нибудь.
0
|
|||
|
3847 / 1709 / 431
Регистрация: 14.03.2022
Сообщений: 4,369
|
|||||||
| 15.02.2026, 15:47 | |||||||
|
Какие еще действия должны выполняться после того "секретного кода"? Если они не секретные - их можно подключить обычным <script></script>...![]() Добавлено через 1 минуту Но тем самым ты сам создаешь себе проблемы. Именно про это тебе и пишем. Только проку в этом 0. ![]() Добавлено через 6 минут
1
|
|||||||
|
1294 / 1271 / 190
Регистрация: 21.01.2024
Сообщений: 5,884
|
|||
| 15.02.2026, 16:20 | |||
|
Добавлено через 3 минуты Просто надо погуглить и почитать, как это делается.
1
|
|||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||
| 15.02.2026, 18:32 [ТС] | ||
|
Спасибо всем за советы и потраченное время. Думаю, по последним комментариям вопросов нет.
Начну заниматься защитой, тогда вернусь к возможности использования <script>:
0
|
||
|
213 / 74 / 19
Регистрация: 29.02.2016
Сообщений: 383
|
|
| 15.02.2026, 18:38 | |
|
0
|
|
| 15.02.2026, 18:51 | |
|
Не по теме: Я иной раз поражаюсь, как люди придумывают сами себе велосипед, а потом героически пытаются его решить...
0
|
|
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 15.02.2026, 18:59 [ТС] | |||
|
И одно другому не помешает, если будет многоуровневая защита конфиденциальной информации. Добавлено через 4 минуты
0
|
|||
|
1294 / 1271 / 190
Регистрация: 21.01.2024
Сообщений: 5,884
|
||||
| 15.02.2026, 19:33 | ||||
Сообщение было отмечено voral как решение
РешениеДаже с лучшим минификатором любая нормальная ИДЕ покажет структуру кода, с разбивкой строк по операторам, с отступами, а ИИ и имена переменным вполне читаемые даст. И писать "свой" минификатор вам совсем не рекомендуется. Для нормальной минификации надо точно знать синтаксис js, учитывать области видимости, понимать из семантики, что можно минифицировать, что нельзя. Просто убрать пробелы - это не минификация.
3
|
||||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 15.02.2026, 20:17 [ТС] | |||
|
И не только ради удовольствия, но и чтобы облегчить написание кода и не задумываться об областях видимости - а формировать их динамически как раз в минификаторе. Но все это не так важно и не стоит того, чтобы это обсуждать. Добавлено через 6 минут Вот и у меня, прекрасно когда есть цель и от этого получаешь двойной удовольствие. В любом случае благодарю и на этом прощаюсь
0
|
|||
| 15.02.2026, 20:17 | |
|
Помогаю со студенческими работами здесь
79
Код 200 SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Ошибка "json.parse unexpected character" Не работает JSON.parse, ошибка Unexpected token o Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|