|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||||||||||
Eval против JSON.parse11.11.2025, 17:46. Показов 2877. Ответов 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
|
||||
|
3862 / 1762 / 434
Регистрация: 14.03.2022
Сообщений: 4,454
|
|||||||
| 13.02.2026, 23:48 | |||||||
![]() Но код JS с сервера может быть подключен обычным тегом
Это даже не альтернатива. Это как бы азы.
0
|
|||||||
|
242 / 104 / 22
Регистрация: 29.02.2016
Сообщений: 524
|
|
| 13.02.2026, 23:53 | |
|
0
|
|
|
3862 / 1762 / 434
Регистрация: 14.03.2022
Сообщений: 4,454
|
|
| 13.02.2026, 23:56 | |
|
stele, это бесполезно...
![]() У ТСа свой путь. Он не свернет...
0
|
|
|
242 / 104 / 22
Регистрация: 29.02.2016
Сообщений: 524
|
||
| 13.02.2026, 23:59 | ||
|
0
|
||
|
3862 / 1762 / 434
Регистрация: 14.03.2022
Сообщений: 4,454
|
|
| 14.02.2026, 00:01 | |
|
stele, да там вообще концов не найдешь...
0
|
|
|
242 / 104 / 22
Регистрация: 29.02.2016
Сообщений: 524
|
||
| 14.02.2026, 00:04 | ||
|
0
|
||
|
14578 / 9485 / 1360
Регистрация: 21.01.2016
Сообщений: 35,777
|
||
| 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
|
||
|
1299 / 1288 / 191
Регистрация: 21.01.2024
Сообщений: 5,976
|
|||
| 14.02.2026, 11:02 | |||
|
А что делать фронтеру, если такая переменная, должна быть не глобальной, а локальной в функции или блоке? Бэк и фронт должны быть полностью независимы и пересекаться только по данным.
0
|
|||
|
242 / 104 / 22
Регистрация: 29.02.2016
Сообщений: 524
|
||||
| 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
|
||||||
|
1299 / 1288 / 191
Регистрация: 21.01.2024
Сообщений: 5,976
|
|||||
| 14.02.2026, 12:02 | |||||
|
Просто сначала одно, потом другое. Показатель: Добавлено через 3 минуты
0
|
|||||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 14.02.2026, 12:08 [ТС] | |||
|
0
|
|||
|
242 / 104 / 22
Регистрация: 29.02.2016
Сообщений: 524
|
||
| 14.02.2026, 12:11 | ||
|
1
|
||
|
-62 / 2 / 0
Регистрация: 12.11.2020
Сообщений: 407
|
|||
| 14.02.2026, 12:16 [ТС] | |||
|
Добавлено через 4 минуты
0
|
|||
|
1299 / 1288 / 191
Регистрация: 21.01.2024
Сообщений: 5,976
|
||
| 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|