|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||||||||||
Eval против JSON.parse11.11.2025, 17:46. Показов 2741. Ответов 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
|
|
3857 / 1744 / 432
Регистрация: 14.03.2022
Сообщений: 4,435
|
|||
| 15.02.2026, 09:35 | |||
![]() ![]() А клиенту передавать лишь результат. А это какие-то данные.
0
|
|||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||
| 15.02.2026, 12:55 [ТС] | ||
|
0
|
||
|
1296 / 1282 / 190
Регистрация: 21.01.2024
Сообщений: 5,935
|
||
| 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
|
||
|
232 / 94 / 22
Регистрация: 29.02.2016
Сообщений: 486
|
||
| 15.02.2026, 14:33 | ||
|
0
|
||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 15.02.2026, 14:40 [ТС] | |||
|
Добавлено через 3 минуты М.б. об этом правильнее не следовало бы писать, но, решил, что мне не жалко (даже, если и реализую) - придумаю еще что-нибудь.
0
|
|||
|
3857 / 1744 / 432
Регистрация: 14.03.2022
Сообщений: 4,435
|
|||||||
| 15.02.2026, 15:47 | |||||||
|
Какие еще действия должны выполняться после того "секретного кода"? Если они не секретные - их можно подключить обычным <script></script>...![]() Добавлено через 1 минуту Но тем самым ты сам создаешь себе проблемы. Именно про это тебе и пишем. Только проку в этом 0. ![]() Добавлено через 6 минут
1
|
|||||||
|
1296 / 1282 / 190
Регистрация: 21.01.2024
Сообщений: 5,935
|
|||
| 15.02.2026, 16:20 | |||
|
Добавлено через 3 минуты Просто надо погуглить и почитать, как это делается.
1
|
|||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||
| 15.02.2026, 18:32 [ТС] | ||
|
Спасибо всем за советы и потраченное время. Думаю, по последним комментариям вопросов нет.
Начну заниматься защитой, тогда вернусь к возможности использования <script>:
0
|
||
|
232 / 94 / 22
Регистрация: 29.02.2016
Сообщений: 486
|
|
| 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
|
|||
|
1296 / 1282 / 190
Регистрация: 21.01.2024
Сообщений: 5,935
|
||||
| 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 | |
|
Код 200 SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Ошибка "json.parse unexpected character" Не работает JSON.parse, ошибка Unexpected token o Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|