|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||||||||||
Eval против JSON.parse11.11.2025, 17:46. Показов 3128. Ответов 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
|
|
3864 / 1771 / 434
Регистрация: 14.03.2022
Сообщений: 4,460
|
|||
| 15.02.2026, 09:35 | |||
![]() ![]() А клиенту передавать лишь результат. А это какие-то данные.
0
|
|||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||
| 15.02.2026, 12:55 [ТС] | ||
|
0
|
||
|
1305 / 1328 / 193
Регистрация: 21.01.2024
Сообщений: 6,123
|
||
| 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
|
||
|
264 / 132 / 25
Регистрация: 29.02.2016
Сообщений: 767
|
||
| 15.02.2026, 14:33 | ||
|
0
|
||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 15.02.2026, 14:40 [ТС] | |||
|
Добавлено через 3 минуты М.б. об этом правильнее не следовало бы писать, но, решил, что мне не жалко (даже, если и реализую) - придумаю еще что-нибудь.
0
|
|||
|
3864 / 1771 / 434
Регистрация: 14.03.2022
Сообщений: 4,460
|
|||||||
| 15.02.2026, 15:47 | |||||||
|
Какие еще действия должны выполняться после того "секретного кода"? Если они не секретные - их можно подключить обычным <script></script>...![]() Добавлено через 1 минуту Но тем самым ты сам создаешь себе проблемы. Именно про это тебе и пишем. Только проку в этом 0. ![]() Добавлено через 6 минут
1
|
|||||||
|
1305 / 1328 / 193
Регистрация: 21.01.2024
Сообщений: 6,123
|
|||
| 15.02.2026, 16:20 | |||
|
Добавлено через 3 минуты Просто надо погуглить и почитать, как это делается.
1
|
|||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||
| 15.02.2026, 18:32 [ТС] | ||
|
Спасибо всем за советы и потраченное время. Думаю, по последним комментариям вопросов нет.
Начну заниматься защитой, тогда вернусь к возможности использования <script>:
0
|
||
|
264 / 132 / 25
Регистрация: 29.02.2016
Сообщений: 767
|
|
| 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
|
|||
|
1305 / 1328 / 193
Регистрация: 21.01.2024
Сообщений: 6,123
|
||||
| 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|