как спрятать переменные на JavaScript

Stur

Guest
как спрятать переменные на JavaScript

Вопрос немного не по теме но всетаки...
Как можно защитить переменные A и B? чтобы злой юзер не мог их изменить, а лутче спрятать весь скрипт.
Вообще такое теоритически возможно?
Код:
<HTML>
<HEAD>
<TITLE>Простой документ с фреймами</TITLE>
[ЦВЕТОМ=crimson]
<SCRIPT type="text/javascript">
 //переменные которые надо защитить
var A=3489213
var B=0iwdmn0
....и т.д.
...код JavaScript...
</SCRIPT>
[/ЦВЕТОМ]

</HEAD>
<FRAMESET cols="20%, 80%">
  <FRAMESET rows="100, 200">
      <FRAME src="contents_of_frame1.html">
      <FRAME src="contents_of_frame2.gif">
  </FRAMESET>
  <FRAME src="contents_of_frame3.html">
Навязчивая идея передавать весь код в виде зашифрованной строки string_shifr ="sdfi...." , а потом использовать eval() совмесно с какой-нибудь функцией дешифрации типа такого:
[ЦВЕТОМ=blue]eval( дешифрация( string_shifr ) )[/ЦВЕТОМ]
 

RomikChef

Guest
охренительная защита безопасности!!!
евалить строку, пришедшую от юзера!
я плакалъ...
 

Stur

Guest
Наверно меня не так поняли.
шифрованая строка передается броузеру

eval( дешифрация( string_shifr ) ) - это мы пишем уже на JScript
после чего соответственно получаем новый код на томже JS
 

Crazy

Developer
Вот мы и вернулись к правильному ответу на вопрос "как спрятать переменные на JavaScript?": "Вы не должны этого хотеть". :)
 

Long

Новичок
Crazy на сколько я в курсе визуальный редактор http://editor.phoundry.com/ ценность которого фактически и состоит в jscript никто не смог выкачать и заставить работать. хотя я могу и ошибаться, говоря - никто....
 

Crazy

Developer
А что, кто-то этим всерьез занимался? IMHO, он не настолько дорог, чтобы его всерьез ломать. Проще купить, если действительно нужен.

Я согласен, что код можно запутать, причем не обязательно чтобы помешать разобраться (в Lotus Quickplace генерится кошмарный JS-код в целях оптимизации трафика). Но использовать это в целях безопасности -- не самая разумная, IMHO, идея.
 

young

Новичок
<HTML>
<HEAD>
<TITLE>Script Encoder Sample Page</TITLE>
<SCRIPT LANGUAGE="JScript.Encode">
<!--//
//Copyright© 1998 Microsoft Corporation. All Rights Reserved.
//**Start Encode**#@~^QwIAAA==@#@&0; mDkW P7nDb0zZKD.n1YAMGhk+Dvb`@#@&P,kW`UC7kLlDGDcl22gl:n~{'~Jtr1DGkW6YP&xDnD +OPA62sKD+ME#@#@&P,~~k6PvxC\rLmYGDcCwa.n.kkWU bx[+X66Pcr*cJ#,@*{~!*P~P,P~.YEMU`DDEbIP,P,+s/n@#@&P~P,~PM+O;Mx`WC^/n#pN6EU1YbWx,oObaw.WaDrCD+nmL+v# @#@&~P7lMPdY.q,'~J_CN,Y4rkP4nn PCx,C1Y;mV,+(PkrY~~l,wCLPmKhwmYk(snPSkDt~JI@#@&P~\m.PkY.+,'PE8MWA/.kPGDtDPDtmUPri@#@&,P-CMP/D.&,'Pr\rmMWkWWY~( YnD nY,2a2^WDn.,* !,Ep@#@&,P7lD,/D.c,'~JSW;s9Ptm-+,4+U~VKl9+[REI,Pr0,c\DrWHZW..mOAMGS/nM`*#@#@&P,~P9W^Es+UOchDbO+v/YMq~_,/DDfPQ~kY.c*IP,+sd@#@&~~,P[W1;s+UDRSDkD+vdYMF~_,/O.yP_,dYM&P3~dYMc*iNz&R @*^#~@
//-->
</SCRIPT>
</HEAD>
<BODY onload="getAppropriatePage()">
</BODY>
</HTML>
 

.des.

Поставил пиво кому надо ;-)
говорим остальным бразуерам до свидания?
 

young

Новичок
Я делал чуток не так - я писал
<script src="my.php">

А там анализировал - если запрос от IE - отдаем JS.Encode, если нет - отдаем нормальный JS
 

Stur

Guest
Автор оригинала: young

<SCRIPT LANGUAGE="JScript.Encode">
.......
Я так понимаю у себя пишем:

<SCRIPT LANGUAGE="JScript">
//Copyright© 1998. ZYX Productions. All rights reserved.
//**Start Encode**
// Дальше пишем свою программу
................
</SCRIPT>

а клиент уже получает шифровку.

young, спасибо за совет.
 

Crazy

Developer
Автор оригинала: .des.
говорим остальным бразуерам до свидания?
Народ никак не хочет понять, что если IE может это декодировать, то НЕИЗБЕЖНО появится тулза, которая может то же самое. :)

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

.des.

Поставил пиво кому надо ;-)
Народ никак не хочет понять, что если IE может это декодировать, то НЕИЗБЕЖНО появится тулза, которая может то же самое.
:) ну они от них и защищаются :)
Но особенно мне понравилось -
Автор оригинал: young
Я делал чуток не так - я писал
<script src="my.php">

А там анализировал - если запрос от IE - отдаем JS.Encode, если нет - отдаем нормальный JS
Гы :) тогда зачем так заморачиваться? :)
 
Сверху