Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   недопер с синтаксисом) (https://javascript.ru/forum/misc/21493-nedoper-s-sintaksisom.html)

faleev 12.09.2011 14:21

недопер с синтаксисом)
 
var ".$var[11]." = 'eval';
var ".$var[12]." = ".$var[11].";
-------------------------------------

this[".$var[12]."](".$var[9].");

Господа, посоветуйте как раскидать третью строку по переменным чтоб она коректно отработала. ( то есть 'this' надо раскидать).
Первые две строки написал чтоб понятнее было что в переменных, var[12] =eval, а var[9] просто любой код который должен выполнится.
Надо примерно так:

var ".$var[1]." = 'th';
var ".$var[2]." = 'is[';
var ".$var[3]." = '](';
".$var[1]."+".$var[2]."+'".$var[12]."'+".$var[3]."+".$var[9].");

Только чтоб работало) Это что я раскидал не работает(.

DjDiablo 12.09.2011 14:57

в javaScript нет синтаксиса вида.
var ".$var[1]." = 'th';


к тому же не ясно чего вы вообще хотите.

тот код который вы привели, это дичайшая лабуда )))
Я бы сказал абстракционизм в мире программирования.

чтобы вы не задумали.
Вот список строковых функций.
регулярные выражения наверное тоже пригодятся.

faleev 12.09.2011 15:07

var ".$var[1]." = 'th';

var ".$var[1]." определяется (инициируется случайное название в цикле в начале кода который я не стал приводить, оно и так должно быть ясно)
Что вас тут напрягает?
Подобная конструкция работает у меня в коде на ура.
Да ну суть не в этом
раскидайте по своему по переменным)

faleev 12.09.2011 15:07

var ".$var[1]." = 'th';

var ".$var[1]." определяется (инициируется случайное название в цикле в начале кода который я не стал приводить, оно и так должно быть ясно)
Что вас тут напрягает?
Подобная конструкция работает у меня в коде на ура.
Да ну суть не в этом
раскидайте по своему по переменным)

faleev 12.09.2011 15:10

Цитата:

Сообщение от DjDiablo (Сообщение 126102)
Думаю вы не только меня озадачили )))
Чего вы хотите не понял ?

И что это за креатив. ? ))))
var ".$var[1]." = 'th';

в javaScript нет такого синтаксиса.

Хочу я одного , я же чуть ли не рассказ об одной строке тут написал , десять раз повторил и переуточнил)))
вот строка
this[".$var[12]."](".$var[9].");

>>> хочу чтоб заместо this были переменные, а в переменных уже 'this'

Прочитайте выше , возможно синтаксис кривой , но логика то понятна?

Gozar 12.09.2011 15:18

Цитата:

Сообщение от faleev (Сообщение 126108)
Прочитайте выше , возможно синтаксис кривой , но логика то понятна?

Вообще-то не очень. Это вообще чего и зачем?

faleev 12.09.2011 15:24

var ".$var[1]." = 'th';
var ".$var[2]." = 'is[';
var ".$var[3]." = '](';
".$var[1]."+".$var[2]."+'".$var[12]."'+".$var[3]."+".$var[9].");

мне требуется исправить в этих строках что неправильно с Вашей точки зрения и все. Элементарно. Все переменные описаны, в var12 - eval , в var9 код который в конце конструкции должен исполнится.
Вопросы конкретные , по существу есть?
Смысл для меня - обфускация кода.

DjDiablo 12.09.2011 15:36

Мне непонятно зачем такое астрономическое количество ковычек, точек и других символов которые здесь особо то и ненужны.

Почему не так.

<script>
        var vars=[];
        vars[1] = 'th';
        vars[2] = 'is[';
        vars[3] = '](';

        result=vars[1]+vars[2]+vars[3]
	alert(result);
</script>


если нужно выполнить результат сложения, ну дак выполняйте result.
eval или Function вам в помощь.
<script>
        var vars=[];
	vars[1] = 'alert';
	vars[2] = '("Привет я программа ФраНКинШтеЙна"';
        vars[3] = ');';

        result=vars[1]+vars[2]+vars[3]
	super=eval(result);

       super
</script>

Gozar 12.09.2011 15:42

faleev,
Это не обфускация кода, это бредятина.

faleev 12.09.2011 15:45

еще раз повторю - мне надо сделать рабочей именно строку
var ".$var[1]." = 'th';
var ".$var[2]." = 'is[';
var ".$var[3]." = '](';
".$var[1]."+".$var[2]."+'".$var[12]."'+".$var[3]."+".$var[9].");

там в переменных "this" и "eval" , и эти переменные в строке должны корректно отработать как this и eval !

faleev 12.09.2011 15:49

Цитата:

Сообщение от Gozar (Сообщение 126123)
faleev,
Это не обфускация кода, это бредятина.

>>> Если ниче конкретного не можешь сказать в столь элементарных вещах уйди из темы и не флуди. Тут всего лишь надо коректно вставить переменные. От тебя же уже два поста абсолютно не несущие никакой смысловой нагрузки.

Gozar 12.09.2011 15:51

Этот говнокод создается в php?

Если нет, то в javascript нельзя начинать названия переменных с кавычек:

var "

так нельзя, ясно?

faleev 12.09.2011 15:54

Цитата:

Сообщение от Gozar (Сообщение 126128)
Этот говнокод создается в php?

Если нет, то в javascript нельзя начинать названия переменных с кавычек:

var "

так нельзя, ясно?

Да это в php. Я не претендую на званию мего кодера js )
А тебе слабо подредактировать мою строку до рабочего вида?

Gozar 12.09.2011 15:54

Если же ты хочешь присвоить строке значение, то преобразуй её сначала в объект или создай массив из строк и заполни ими объект. Твоя обфускация смешна, потому что у тебя нечего воровать, т.к. ты не знаешь язык. Не проще ли забить болт?

Gozar 12.09.2011 15:56

Цитата:

Сообщение от faleev (Сообщение 126130)
Да это php/

Тогда ты ещё и php не знаешь. Либо приведи свой кусок кода без вырезок, либо купи учебник по php. Т.к. ты пишешь на неизвестном никому языке.

как минимум что-то вроде:
echo 'var '.$var[11].' = "eval";';

DjDiablo 12.09.2011 15:57

Я привёл рабочий пример складывания и запуска строки выше. (правда непонятно на кой это может пригодится)

А вообще ваша реализация алгоритма это смесь php, JavaScript и африканского языка суахили.

Переделывайте. Я уже устал смеяться.

статейка об обфускации.
http://habrahabr.ru/blogs/javascript/112530/

Gozar 12.09.2011 16:12

faleev,
Упакуй свой скрипт и не парься, пока сам не запутался в нём :)
http://javascript.ru/optimize/javascript-compression

Цитата:

При хорошем сжатии обычно происходит обфускация, т.е имена переменных заменяются на более короткие там, где это возможно, в результате скрипт становится непонятным.

Триви 12.09.2011 16:30

Названия переменных в JS == значения переменных из PHP что ли?

faleev 12.09.2011 16:44

да так. Код js генерируется на php.

Gozar 12.09.2011 16:59

Цитата:

Сообщение от faleev (Сообщение 126143)
да так. Код js генерируется на php.

Хуже для себя кошмара не придумать.

Ты ещё вытяни код в одну строку и повставляй лишние ничего не делающие функции и объекты, раздув скрипт до 10 мб. Тогда редакторы, по большей части, будут вешаться пытаясь подсветить весь этот кошмар. А уж как браузерам несладко придется, мм, закачаешься ;)

faleev 12.09.2011 18:48

Я хз вообще о чем ты думаешь)... Ты даже не знаешь о чем ты говоришь. Я показал всего лишь одну строку и попросил подсказки ... Какие лишние объекты , функции? Такое ощущение что когда вы говорите , вы бредите)
Кроме срача в теме ни одной конкретной полезной мысли ... Надо как бэ к людям полояльнее быть.

Gozar 12.09.2011 18:59

faleev,
Почему я должен быть к тебе лояльней? ты сам бредишь, то что ты делаешь абсурд. Любой хороший кодер разберет твою обфускацию на винтики в секунды. Но судя по уровню твоих знаний, твой скрипт не стоит того.

Я тебе подсказал, как должно быть, вот твоя благодарность.

Триви 12.09.2011 19:31

Цитата:

Сообщение от faleev (Сообщение 126155)
Я хз вообще о чем ты думаешь)... Ты даже не знаешь о чем ты говоришь. Я показал всего лишь одну строку и попросил подсказки ... Какие лишние объекты , функции? Такое ощущение что когда вы говорите , вы бредите)
Кроме срача в теме ни одной конкретной полезной мысли ... Надо как бэ к людям полояльнее быть.

Ты, вместо того, чтобы обижаться,
хотя бы тэги использовал для обозначения блоков PHP,
а так это выглядит реальным бредом..

faleev 12.09.2011 19:46

to Gozar :
хороший кодер разберет Любую обфускацию довольно быстро...
Вопрос не в этом . Я не просил меня поучать как надо кодить итп итд. Если ты сам хотя бы разбираешься в том о чем говоришь в чем проблема то была хотя бы даже кривой ответ по моей просьбе отписать? лол... А инфу по онлайн сервисам и так легко пробить в гугле(обфускаторам) . Я не обижаюсь если че, ) Просто не могу терпеть людей которые балаболят ни о чем отбирая время у других. Я ж повторю - я js знаю близко к нулю. Гы. И стати что ты подсказал , ? Что все гамно ? Одна строка и та гамно?) Подсказал бы как правильно бы написать эту строку))) . Не , надо кончать этот флуд, . Все , закрыто, разобрался сам ,раскидал по переменным наконец.

Gozar 12.09.2011 20:10

faleev, Тебя вооще невозможно было понять на протяжении первых постов, потому что твоя идея настолько идиотская, что её даже представить сложно.

А я не люблю людей которые гадят код и не слушают при этом нормальные советы. В результате чего потом другим программистам приходиться пыжиться, пытаясь понять написанный идиотом код.
Мне приходилось не раз работать совместно, о чём я сожалею каждый раз, когда об этом вспоминаю.

Ты не знаешь ни php ни js и при этом пытаешься запутать код. Тебя надо гнать поганой метлой из программистов.

DjDiablo 12.09.2011 20:32

Я тоже думал что это кусок на JS, а что я должен быть думать на форуме javaScript )))
В самом деле нужно было всего лишь теги php поставить. Или буковками написать.

popov654 13.09.2011 01:26

В рот мне ноги, как говорил один мой знакомый :lol:
Это был PHP-код! А в одну строку написать было не дано? Или хотя бы не срезать начало и конец выражения?..

popov654 13.09.2011 01:28

И в самом деле, почему бы Вам было об этом не спросить на форуме по PHP? :)

systemiv 13.09.2011 06:46

Цитата:

>>> Если ниче конкретного не можешь сказать в столь элементарных вещах уйди из темы и не флуди. Тут всего лишь надо коректно вставить переменные. От тебя же уже два поста абсолютно не несущие никакой смысловой нагрузки.
Цитата:

Я хз вообще о чем ты думаешь)... Ты даже не знаешь о чем ты говоришь. Я показал всего лишь одну строку и попросил подсказки ... Какие лишние объекты , функции? Такое ощущение что когда вы говорите , вы бредите)
Кроме срача в теме ни одной конкретной полезной мысли ... Надо как бэ к людям полояльнее быть.
Все тут ослы, все бредят.
Один Вы умный.
Вы смахиваете на школьника.
А между прочим, люди реально думают за Вас, и пытаются помочь
По Вашей проблеме, советую Вам координально пересмотреть архитектуру Вашего приложения.


Цитата:

Ты не знаешь ни php ни js и при этом пытаешься запутать код. Тебя надо гнать поганой метлой из программистов.
Я бы сазал, его бы упёртость, да в другое русло. Например мешки с цементом грузить=)


Часовой пояс GMT +3, время: 17:15.