Можно ли заменять англ. буквы и символы в JS на коды?

12
Rock'n'rolla
На сайте с 14.09.2009
Offline
146
691

Вопрос такой. Есть например:

var site = "site";

Далее в коде он используется и т.д. В итоге можно попасть через эту переменную на site.ru

Можно ли заменить каждый символ и букву в ссылке на какой нить код (типа &14324;&3224242;&232; и т.д. это на абум я код изобрел для примера :) )

Но чтобы при исполнении скрипт уже для себя его переводил в нужный урл и им оперировал?

Или можно например так сделать:

var l1  = "s";

var ad = "i";
var 11 = "t";
var ge = "e";
var si = ".";
var te = "r";
var se = "u";

Т.е. самому к примеру придумать некий код. И далее уже собрать ссылку так:

var site = ad+11+ge+si+te+se;

Как это с точки зрения синтаксиса правильно сделать?

За помощь - огромнейшее спасибо и плюс в карму!

"Vulcan-Bit - лучшая партнерка в сети" (http://vulcan-bit.com?invite=artem_kozirev) KMA.BIZ - Партнерка с крутым конвертом и отчислениями в долларах. Лить! (http://kma.biz)
RL
На сайте с 19.06.2013
Offline
19
#1

Если я правильно понял, то вам нужно строку вида "http://site.ru/page.htm" поменять на что-то типа "kadnf8q93ifnwee9vrivme0" (типа, зашифрованная строка). А потом эту строку дешифровать назад в "http://site.ru/page.htm"? — я правильно понимаю?

Rock'n'rolla
На сайте с 14.09.2009
Offline
146
#2
Если я правильно понял, то вам нужно строку вида "http://site.ru/page.htm" поменять на что-то типа "kadnf8q93ifnwee9vrivme0" (типа, зашифрованная строка).

Да.

А потом эту строку дешифровать назад в "http://site.ru/page.htm"

Это уже скрипт в процессе исполнения делает, ага.

R
На сайте с 18.12.2009
Offline
92
#3


var str = "";
var site = "site.ru";
var mass = {
's':"с",
'i':"а",
't':"й",
'e':"т",
'.':".",
'r':"р",
'u':"у"
};
for(x = 0; x < site.length; x++) {
str = str + mass[site[x]];
}
alert(str);

mass - массив, содержащий буквы англ. в качестве ключей и и коды, в качестве значений.

В переменной str будет собираться результат.

.length - это как count в php (если знакомы), т.е. возвращает кол-во элементов в массиве site.

Делаем перебор, сопоставляем ключи, собираем значения в str.

Это Вам нужно?

Рабочий пример - http://jsfiddle.net/rqLUz/

RL
На сайте с 19.06.2013
Offline
19
#4

Ну, я не совсем понимаю зачем это нужно, но я бы делал так:


// Функция шифрования.
function encode(input){
// 1. "Шифруем" каждый символ строки input.
var output = new Array();
var inputLength = input.length;
for(var i = 0; i < inputLength; ++i){
var code = input.charCodeAt(i);
output.push(code);
output.push('-');
};
// 2. Возвращаем "шифрованную" строку.
return output.join('');
};

// Функция дешифрования.
function decode(input){
// 1. Дешифруем каждый символ строки input.
var output = new Array();
var source = input.split('-');
var sourceCount = source.length;
for(var i = 0; i < sourceCount; ++i){
var char = String.fromCharCode(source);
output.push(char);
};
// 2. Возвращаем расшифрованную строку.
return output.join('');
};

В вашем примере строка "site.ru" будет зашифрована в "115-105-116-101-46-114-117-" с помощью encode("site.ru") и расшифрована обратно в "site.ru" с помощью decode("115-105-116-101-46-114-117-");

***91; — символ [ ***93; — символ ]

Rock'n'rolla
На сайте с 14.09.2009
Offline
146
#5

Можно ли без массива использовать? Это важный момент.

RL
На сайте с 19.06.2013
Offline
19
#6
Rock'n'rolla:
Можно ли без массива использовать? Это важный момент.

Это к кому вопрос? — у меня, вроде, без массива.

R
На сайте с 18.12.2009
Offline
92
#7

Из Вашего первого сообщения я подумал, что коды будут заранее определены.

Кстати, source***91;i***93; - это source (на всякий случай)

Rock'n'rolla
На сайте с 14.09.2009
Offline
146
#8

rerighter, они будут определены, но надо чтобы можно было раскидать по всему коды эти коды, чтобы их просто не найти было, так они явно в глаза бросаются рядышком, код открыть, глазами пробежаться и все =)

roman_lenko, голубчик, именно на JS надо, именно =)

R
На сайте с 18.12.2009
Offline
92
#9

Вариант roman_lenko работает на JS ;), но он легко декодируется.

Такой вариант, так как символы будут определены заранее (коды), вы можете хранить их, например, в массиве, но в файле .php

Делать запрос AJAX и возвращать строку. Т.е. принцип тот же. что я описал выше, только строка будет собираться в файле .php

И никто ничего не увидит)

LEOnidUKG
На сайте с 25.11.2006
Offline
1771
#10

А может заюзать javascript base64_encode и base64_decode

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий