Спрятать код страницы, помогите разобратся.
От: Аноним  
Дата: 25.03.09 13:24
Оценка:
Вот наткнулся недавно по работе на страничку — http://consumer.inosat.com/ , очень захотелось посмотреть их код, но ужасно удивился открыв сорсы, увидел там практически ничего, добыл теcтовый логин и пароль (demo,inosat) , зашел туда и опять же в сорсах почти ничего не увидел.
Тогда полез в ИЕ, у меня там есть такая прикруточка как — Companion.Js, и вот только тогда передом мной эта страничка "разделась" так сказать.

Господа, помогите разобратся, каким образом тамошние разработчики умудрились спрятать большую часть кода.
Я уже несколько часов раскапываю это дело, пока так и не понял, возможно кому то тоже интересно будет, фишка то достаточно уникальна на мой взгляд.
Re: Спрятать код страницы, помогите разобратся.
От: Курилка Россия http://kirya.narod.ru/
Дата: 25.03.09 13:51
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вот наткнулся недавно по работе на страничку — http://consumer.inosat.com/ , очень захотелось посмотреть их код, но ужасно удивился открыв сорсы, увидел там практически ничего, добыл теcтовый логин и пароль (demo,inosat) , зашел туда и опять же в сорсах почти ничего не увидел.

А>Тогда полез в ИЕ, у меня там есть такая прикруточка как — Companion.Js, и вот только тогда передом мной эта страничка "разделась" так сказать.

А>Господа, помогите разобратся, каким образом тамошние разработчики умудрились спрятать большую часть кода.

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

FF3, скрипт http://consumer.inosat.com/com.Inosat.InoConsApp.nocache.js оотуда ссылки на http://consumer.inosat.com/04B1A42293A222B409D10206CA708125.cache.html со скриптами.
Что хочется украсть?
Re[2]: Спрятать код страницы, помогите разобратся.
От: Аноним  
Дата: 25.03.09 14:01
Оценка:
Здравствуйте, Курилка, Вы писали:
К>Что хочется украсть?

хм может я и ошибаюсь, всё дастоточно просто в скриптах.

Попробую обьяснить как я вижу.
Открывая страницу просто для просмотра сорса, видно следующие (часть кода где таблица с картой)

<table id="maintable" border=0 align="center" summary="InoConsApp" width="100%" cellspacing=1 cellpadding=1>
            <tr>
                <td id="logo" valign="top" align="left"><img src="images/inosat_logo.png"/></td>
                <td id="externallink" valign="top" align="left"></td>
                <td valign="top" align="right" >
                    <table cellspacing=0 cellpadding=0>
                    <tr><td id="login_inputs_container" align="right">
                        <table id="login_inputs" cellspacing=1 cellpadding=0>
                            <tr><td id="userLabel" align="right"></td><td id="userInput"></td></tr>
                            <tr><td id="passLabel" align="right"></td><td id="passInput"></td></tr>
                            <tr><td id="rememberCheck" align="right" style="font-size:smaller"></td><td id="rememberLabel" align="left" style="font-size:smaller"></td></tr>
                        </table>
                    </td></tr>
                    <tr><td id="links" align="right"></td>
                    </table>
                </td>
            </tr>
            <tr>
                <td id="menu" valign="top" align="center"></td>
                <td id="map" colspan="2" valign="top" align="left"></td>
            </tr>
            <tr><td id="flagcontainer" align="left"></td>
             <td colspan="2"><table border=0 cellspacing=0 cellpadding=0 width="100%" style="overflow:hidden"><tr><td id="showloc"></td><td align=right><font color="#BBBBBB" >&copy;2009 Inosat</font></td></tr></table></td>
            </tr>
        </table>




Теперь я открываю CompanionJS и вижу что страница имеет на самом следующие содержание :

<TABLE id=maintable cellSpacing=1 cellPadding=1 width="100%" align=center summary=InoConsApp border=0>
<TBODY>
<TR>
<TD id=logo vAlign=top align=left><IMG src="images/inosat_logo.png"></TD>
<TD id=externallink vAlign=top align=left>Know our products at <A href="http://www.inosat.com/consumer">www.inosat.com/consumer</A></TD>
<TD vAlign=top align=right>
<TABLE cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD id=login_inputs_container align=right>
<TABLE id=login_inputs cellSpacing=1 cellPadding=0>
<TBODY>
<TR>
<TD id=userLabel align=right>
<DIV class=gwt-HTML>Username</DIV></TD>
<TD id=userInput><INPUT class=gwt-TextBox id=usernameBox style="WIDTH: 100px" tabIndex=0 __eventBits="896"></TD></TR>
<TR>
<TD id=passLabel align=right>
<DIV class=gwt-HTML>Password</DIV></TD>
<TD id=passInput><INPUT class=gwt-PasswordTextBox id=passwordBox style="WIDTH: 100px" tabIndex=0 type=password value="" __eventBits="896"></TD></TR>
<TR>
<TD id=rememberCheck style="FONT-SIZE: smaller" align=right><SPAN class=gwt-CheckBox><INPUT id=gwt-uid-1 tabIndex=0 type=checkbox><LABEL for=gwt-uid-1></LABEL></SPAN></TD>
.....
часть кода вырезанно
.....
<TBODY>
<TR>
<TD style="VERTICAL-ALIGN: middle" align=left><INPUT class=gwt-TextBox title="Type address or coordinates" style="WIDTH: 265px" tabIndex=0 __eventBits="896"></TD>
<TD style="VERTICAL-ALIGN: middle" align=left><BUTTON class=gwt-Button-short title="Search address or coordinates" tabIndex=0 __eventBits="1">Search Address</BUTTON></TD>
<TD style="VERTICAL-ALIGN: middle" align=left>
<DIV class=smalltxtgray>You can also search for a coordinate, example: 38.742,-9.269</DIV></TD></TR></TBODY></TABLE></TD>
<TD align=right><FONT color=#bbbbbb>©2009 Inosat</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><IFRAME id=com.Inosat.InoConsApp style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 0px; BORDER-BOTTOM: medium none; POSITION: absolute; HEIGHT: 0px" tabIndex=-1 src="javascript:''"></IFRAME>
<TABLE style="WIDTH: 1px; HEIGHT: 1px" cellSpacing=0 cellPadding=0>
<TBODY></TBODY></TABLE></BODY></HTML>


порылся по прилагающим скриптам, которые ты написал, и как то не наткнулся, на то где это всё описанно. Возможно я нуб, но у меня такое впечатление, что они как то умудрились спрятать весь этот контекст. Вот этот способ я бы и хотел там "выкрасть".
Re[3]: Спрятать код страницы, помогите разобратся.
От: Mamut Швеция http://dmitriid.com
Дата: 25.03.09 14:14
Оценка: +1
> порылся по прилагающим скриптам, которые ты написал, и как то не наткнулся, на то где это всё описанно. Возможно я нуб, но у меня такое впечатление, что они как то умудрились спрятать весь этот контекст. Вот этот способ я бы и хотел там "выкрасть".

Не глядя: просто подключается кокой-то внешний js, который подгружает/генерирует/распаковывает содержимое
avalon 1.0b rev 146


dmitriid.comGitHubLinkedIn
Re[4]: Спрятать код страницы, помогите разобратся.
От: Курилка Россия http://kirya.narod.ru/
Дата: 25.03.09 14:36
Оценка: 18 (1)
Здравствуйте, Mamut, Вы писали:

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


M>Не глядя: просто подключается кокой-то внешний js, который подгружает/генерирует/распаковывает содержимое


И видя в исходниках "gwt:onLoadErrorFn" в голову приходят мысли, что без GWT тут не обошлось
Re[3]: Спрятать код страницы, помогите разобратся.
От: Курилка Россия http://kirya.narod.ru/
Дата: 25.03.09 14:38
Оценка:
Здравствуйте, Аноним, Вы писали:

[cut]

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


Т.е. хочешь динамически генерить страницу из яваскрипта чтоль? Что в этом сложного?
А то что код, генерируемый GWT плохо читается глазами это по-моему нисколько не удивительно, оно на это не рассчитано.
Re[4]: Спрятать код страницы, помогите разобратся.
От: Аноним  
Дата: 25.03.09 14:41
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Здравствуйте, Аноним, Вы писали:


К>[cut]


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


К>Т.е. хочешь динамически генерить страницу из яваскрипта чтоль? Что в этом сложного?

К>А то что код, генерируемый GWT плохо читается глазами это по-моему нисколько не удивительно, оно на это не рассчитано.
что это за зверь такой GWT
Re[5]: Спрятать код страницы, помогите разобратся.
От: Курилка Россия http://kirya.narod.ru/
Дата: 25.03.09 14:44
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Курилка, Вы писали:


К>>А то что код, генерируемый GWT плохо читается глазами это по-моему нисколько не удивительно, оно на это не рассчитано.

А>что это за зверь такой GWT

Вродеж вики не отключали? Google Web Toolkit
Re: Спрятать код страницы, помогите разобратся.
От: F1aSh  
Дата: 30.03.09 13:36
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вот наткнулся недавно по работе на страничку — http://consumer.inosat.com/ , очень захотелось посмотреть их код, но ужасно удивился открыв сорсы, увидел там практически ничего, добыл теcтовый логин и пароль (demo,inosat) , зашел туда и опять же в сорсах почти ничего не увидел.

А>Тогда полез в ИЕ, у меня там есть такая прикруточка как — Companion.Js, и вот только тогда передом мной эта страничка "разделась" так сказать.

А>Господа, помогите разобратся, каким образом тамошние разработчики умудрились спрятать большую часть кода.


Всё очень просто.
Загружается каркас страницы, только ты зашел посылается XMLHttpRequest, который запрашивает данные для просматриваемой страницы и на клиенте парсится (в соответствующие поля подставляются значения)

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


ничего уникального.
Чтоб лучше понять как это работает Mozilla FireFox + Console FireBug показывает все XMLHttp запросы и присланные сервером ответы, а также Header-данные
Re: Спрятать код страницы, помогите разобратся.
От: midcyber
Дата: 21.04.09 09:27
Оценка:
Здравствуйте, Аноним, Вы писали:

Для FF есть замечательный плагин, Web Developer Toolbar

В нем присутствуют следующие полезные пункты меню:
View Source->View Generated Source (результирующий HTML),
View Source->View Frame Source (далее список всех фреймов),
Information->View Javascript (склеивает в один отчет все используемые js файлы)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.