|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||||||||||
Eval против JSON.parse11.11.2025, 17:46. Показов 3131. Ответов 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
|
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||||
| 13.02.2026, 22:35 [ТС] | ||||
|
Во вторых, минимум со многим из написанного согласен. Но. Немного напрягает, что намного дольше, чем планировал тянется разработка. Конечно, одна из основных причин - не закончив одну систему, взялся за другую (хоть и взаимосвязанную, точнее автоматизированную систему документирования кода) не рассчитав, что она окажется намного сложнее, чем предполагал первоначально. Повторюсь, пока не уверен, что удастся реализовать данную идею (но она мне очень понравилась, и, если она реализуется, присоединюсь к упомянутому выше мнению, что eval наиболее мощная конструкция - и при условии, что у него нет альтернативы): формируется на сервере код, который передается клиенту и мне надо его выполнить. И какими альтернативными методами вместо eval я смогу его выполнить ?
0
|
||||
|
3864 / 1771 / 434
Регистрация: 14.03.2022
Сообщений: 4,460
|
|||||||
| 13.02.2026, 23:48 | |||||||
![]() Но код JS с сервера может быть подключен обычным тегом
Это даже не альтернатива. Это как бы азы.
0
|
|||||||
|
264 / 132 / 25
Регистрация: 29.02.2016
Сообщений: 775
|
|
| 13.02.2026, 23:53 | |
|
0
|
|
|
3864 / 1771 / 434
Регистрация: 14.03.2022
Сообщений: 4,460
|
|
| 13.02.2026, 23:56 | |
|
stele, это бесполезно...
![]() У ТСа свой путь. Он не свернет...
0
|
|
|
264 / 132 / 25
Регистрация: 29.02.2016
Сообщений: 775
|
||
| 13.02.2026, 23:59 | ||
|
0
|
||
|
3864 / 1771 / 434
Регистрация: 14.03.2022
Сообщений: 4,460
|
|
| 14.02.2026, 00:01 | |
|
stele, да там вообще концов не найдешь...
0
|
|
|
264 / 132 / 25
Регистрация: 29.02.2016
Сообщений: 775
|
||
| 14.02.2026, 00:04 | ||
|
0
|
||
|
14821 / 9605 / 1369
Регистрация: 21.01.2016
Сообщений: 36,159
|
||
| 14.02.2026, 08:53 | ||
|
Вот эта вот тема про eval - одна из тех битв с мельницей, где победителем выйдет мельница... или санитары.
0
|
||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 14.02.2026, 09:25 [ТС] | |||
|
то да, нашел данную ссылку среди сохраненных ранее. Хотя и не помнил ее конкретно, потому что почти все пишут, что eval пользоваться нельзя. Но отношусь к этому так, что любой человек (тем более, что нее могу оценить уровень сообразительности и знаний данного автора) может ошибаться. Кроме того встретилась и такая фраза (опять же, не знаю, насколько ей можно доверять): "Eval проверенных данных в плане безопасности вреда не несёт." Т.е. первое противоречит второму и кто-то ошибается. Вопрос, кто. А вот еще одна фраза: Eval снижает производительность. И непонятно как к ней относиться: влияет ли он на производительность всего кода, или только выполняемого Eval. Хотя не так давно подумал, дай попробую поставлю в echo в коде php <script></script> - да, код js выполнялся. Но, когда попробовал использовать через аякс данную конструкция выполнить код не получилось. Поэтому не смог понять, как выполнить код с сервера для конкретного пользователя. Подумал, что этого нельзя. ( не знал я этих азов - учиться, учиться и учиться) И, отвечая, какую задачу решаю данным образом (решил, что не будет вреда для проекта, если ее озвучу) : думаю запустить некий секретный код, который извне нельзя будет увидеть и соответственно узнать, что он выполнил. Думал через аякс получить xmlHttp.responseText, его выполнить eval и тут же очистить xmlHttp.responseText (прочитал, что это возможно, хоть это и глобальный объект)
0
|
|||
| 14.02.2026, 10:12 | ||
|
Добавлено через 2 минуты Самый максимум, что в можете себе позволить в плане "секретности кода" на стороне браузере это применить обфускацию. Но: это точно так же лишь иллюзия защищенности. Хотя уже, скорее всего, чайник не достанет (по крайней мере не разберется в полученном)
1
|
||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||
| 14.02.2026, 10:20 [ТС] | ||
|
Спасибо, voral, это была просто мысль на будущее. И было интересно как раз узнать реакцию на нее.
Жаль, что нельзя скрыть код, даже его удалив (до или после).
0
|
||
|
1305 / 1328 / 193
Регистрация: 21.01.2024
Сообщений: 6,123
|
|||
| 14.02.2026, 11:02 | |||
|
А что делать фронтеру, если такая переменная, должна быть не глобальной, а локальной в функции или блоке? Бэк и фронт должны быть полностью независимы и пересекаться только по данным.
0
|
|||
|
264 / 132 / 25
Регистрация: 29.02.2016
Сообщений: 775
|
||||
| 14.02.2026, 11:20 | ||||
|
1
|
||||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||||||
| 14.02.2026, 11:47 [ТС] | ||||||
|
И был случай: когда были уже готовы к показу две системы (1-й режим и Документатор), удаленно показал одному знакомому и знающему программисту. В комментарии в воцапе мои знания js и php он оценил как хорошие (не помню точно хорошие или очень хорошие, но это и не важно) (по результатам того, что увидел), только по css написал, что нужно подучиться. Это я к тому, что надеюсь и этих знаний хватит для создания и запуска системы. А уже при готовности мне помогут уже с ее запуском и эксплуатацией. Добавлено через 4 минуты Добавлено через 2 минуты
0
|
||||||
|
1305 / 1328 / 193
Регистрация: 21.01.2024
Сообщений: 6,123
|
|||||
| 14.02.2026, 12:02 | |||||
|
Просто сначала одно, потом другое. Показатель: Добавлено через 3 минуты
0
|
|||||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 14.02.2026, 12:08 [ТС] | |||
|
0
|
|||
|
264 / 132 / 25
Регистрация: 29.02.2016
Сообщений: 775
|
||
| 14.02.2026, 12:11 | ||
|
1
|
||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 14.02.2026, 12:16 [ТС] | |||
|
Добавлено через 4 минуты
0
|
|||
|
1305 / 1328 / 193
Регистрация: 21.01.2024
Сообщений: 6,123
|
||
| 14.02.2026, 12:32 | ||
|
Да и очень много сайтов, особенно всяких форумов (включая этот) так и работают по сей день.
0
|
||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
||
| 14.02.2026, 12:57 [ТС] | ||
|
0
|
||
| 14.02.2026, 12:57 | |
|
Код 200 SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Ошибка "json.parse unexpected character" Не работает JSON.parse, ошибка Unexpected token o Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "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С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|