Гость
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / (JS) помогите понять что делаеться / 7 сообщений из 7, страница 1 из 1
31.10.2006, 13:51
    #34094120
MMM_Corp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) помогите понять что делаеться
есть кусок из HTML документа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
<script type="text/javascript">

function FlashDetector_Detect(targetVersion)
{
  var pObj = null;
  var tokens, len, curr_tok;
  var hasVersion = - 1 ;
  var playable = false;
  if(navigator.mimeTypes && navigator.mimeTypes['application/x-shockwave-flash'])
  {
     pObj = navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin;
  }
  if(pObj != null)
  {
     tokens = navigator.plugins['Shockwave Flash'].description.split(' ');
     len = tokens.length;
     while(len--)
     {
        curr_tok = tokens[len];
        if(!isNaN(parseInt(curr_tok)))
        {
           hasVersion = curr_tok;
           FlashDetector_Version = curr_tok;
           break;
        }
     }
     if(hasVersion >= targetVersion)
     {
        playable = true;
     }
     else
     {
        playable = false;
     }
  }
  return playable;
}

var flashDetector_Playable = false;
var flashDetector_targetVersion = '8'; 

var isIE  = (navigator.appVersion.indexOf("MSIE") != - 1 ) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != - 1 ) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != - 1 ) ? true : false;
  
if (isIE && isWin && !isOpera) {
    document.write('<scr' + 'ipt language="VBScript"\> \n');
    document.write('on error resume next \n');
    document.write('flashDetector_Playable = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & flashDetector_targetVersion)))\n');
    document.write('</scr' + 'ipt\> \n');
  } else {
      flashDetector_Playable = FlashDetector_Detect(flashDetector_targetVersion);
  }

  var flashCode = '';

  if(flashDetector_Playable) {
 
    var ts = (new Date()).getTime( );

    flashCode = '<object type="application/x-shockwave-flash" data="https://login.yahoo.com/login/dataCache.swf" width="0" height="0" id="flashCache"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="https://login.yahoo.com/login/dataCache.swf?' + ts + '" /> <param name="bgColor" value="#FF0000" /> </object> ';

  }
  document.write(flashCode);

</script>


<script language="JavaScript">
    
function checkBrowser(){
    var appName = navigator.appName;
    if( appName == "Microsoft Internet Explorer" )
    {
        // this only works in IE  5  for windows and higher ...
        if( navigator.appVersion.indexOf("Windows") == - 1  )
            return - 1 ;
        var appVersionAry = navigator.appVersion.split("(");
        if( appVersionAry.length <  2  )
            return - 1 ;
        var appVersion = appVersionAry[ 1 ];
        appVersionAry = appVersion.split("; ");
        if( appVersionAry.length <  2  )
            return - 1 ;
        appVersion = appVersionAry[ 1 ];
        appVersionAry = appVersion.split(" ");
        if( appVersionAry.length <  2  )
            return - 1 ;
        appVersion = appVersionAry[ 1 ];
        var appVersionNumber = parseInt(appVersion);

        if( appVersionNumber <  5  )
            return - 1 ;
    }
    else
    {
        return - 1 ;
    }
}

</script>

<script language="JavaScript">

function flashCacheReady (initialized){ //invoked directly by Flash
      getCache();
 
    }
</script>

 
<script language="JavaScript">

var inCache = false;
 
// Get the info from flash
function getCache(){
  var o={};
  o=(document.getElementById("flashCache")).getCache(o);
  if(o != null) inCache = true; 
  else return;

  if(o.YL != 'null' && o.YL != null) {
    document.cookie = o.YL + ";expires=Thu, 15 Apr 2037 20:00:00 GMT;domain=login.yahoo.com;path=/";
  }

  if(o.F != 'null' && o.F != null) {
    document.cookie = o.F + ";expires=Thu, 15 Apr 2037 20:00:00 GMT;domain=.yahoo.com;path=/";
  }

  if(o.YLS != 'null' && o.YLS != null) {
    document.cookie = o.YLS + ";expires=Thu, 15 Apr 2037 20:00:00 GMT;domain=.yahoo.com;path=/";
  }

  if(((o.YL != 'null') && (o.YL != null)) || ((o.F != 'null') && (o.F != null))) { 
    document.location.reload();
  }
}

// If the browser is IE, get from the xml cache as well.
 
if((checkBrowser() != - 1 ) && (inCache == false)) {
  function getXML(cookieName,header,spanName)
  {
      var span = document.getElementById("cache");
      span.style.behavior = "url('#default#userData')";
      span.load(spanName);
  
      var ckyDate = new Date;
      ckyDate.setDate(ckyDate.getDate( ) +  7 );
 
      var saved = span.getAttribute("saved"+cookieName);

      if((saved == null ) || (saved == "")) return - 1 ;
      var cookieStr = saved;
      if (header != ""){
          cookieStr = cookieStr + ';' + header;
      }
      document.cookie = cookieStr;
      return  0 ;
  }

  var ylRes = getXML("YL", "expires = Thu, 15 Apr 2037 20:00:00 GMT; domain=login.yahoo.com; path=/", "YL");
  var fRes = getXML("F", "expires = Thu, 15 Apr 2037 20:00:00 GMT; domain=.yahoo.com; path=/", "YL");
  var ylsRes = getXML("YLS", "expires = Thu, 15 Apr 2037 20:00:00 GMT; domain=.yahoo.com; path=/", "YL");

  if(ylRes ==  0  || fRes ==  0 ) document.location.reload();  
}
</script>

ето из сайта йаху, сразу оговорюсь я ничево не понимаю в глубинах JS, но думаю среди вас знайдуться знатоки которие смогут мне обяснить: какие кукеси формируються в даном куске кода, и ище вопрос может ли флешка формировать куки ? Зарание очень благодарен за ответи

браузер значение не имеет, поскольку могу имитировать любой браузер, даже несуществующий, мне ето нада для написания нотификатора которий будет обробативать почту, но нормально залогиниться не получаеться, после проведения прогочислених иследований я дошол до мисли что в коде которий я вам привел ставиться кук, причём знаю точно что только 1 !!!, вот такая вот беда, повторяю даная задача служит только для написания нотификатора которий будет просто вас уведомлять о приходе новой почти на сервер yahoo.com, пишу для себя и с радостю подулюсь релизом кто ево только пожелает
...
Рейтинг: 0 / 0
31.10.2006, 15:23
    #34094609
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) помогите понять что делаеться
Как не получается?
отправить запрос как с формы входа?
на чем пишите?
...
Рейтинг: 0 / 0
31.10.2006, 15:28
    #34094634
MMM_Corp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) помогите понять что делаеться
LINUXERКак не получается?
отправить запрос как с формы входа?
на чем пишите?
я пишу вообшето на делфях, здравий смисл и не хитрие операции убеждают меня на все 100 % что в етом коде ставяться куки, немогу понять откуда их берет и как их ставит, вот я там тоже спрашивал, может ето более поможет http://www.sql.ru/forum/actualthread.aspx?tid=354067
...
Рейтинг: 0 / 0
31.10.2006, 17:08
    #34095160
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) помогите понять что делаеться
yahoo
Вот буржуи:) Понашифруют '</scr' + 'ipt'+'ОВ\>'
Видно, что создаётся 3 кукиса, но не видно из чего и для чего
getCashe это вроде функция прототипа
Ещё копать и копать..
...
Рейтинг: 0 / 0
01.11.2006, 09:21
    #34096223
MMM_Corp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) помогите понять что делаеться
три кука ??? у меня на странице https://login.yahoo.com/config/login? ставиться только один кук с именем B , а вот когда уже залогинюся то там больше там уже проблем вроде таких нету страшних, Linuxer - да ти наверное прав на щот функции GetCache , она меня тоже очень привлекла, там ище флешка какето задеяна, я ее скачал, пришлось использовать совсем непростие методи чтоби скачать, потому как недает просто так ее содрать, вот линк розмер 401 байт, сами попробуете :) товариши !!! дик... чтоже ето всьотаки за функия "GetCache"
...
Рейтинг: 0 / 0
01.11.2006, 17:27
    #34098537
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) помогите понять что делаеться
ну там, как видно, два пути вытаскивания куков - из флешки и из span
...
Рейтинг: 0 / 0
02.11.2006, 09:12
    #34099556
MMM_Corp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) помогите понять что делаеться
большое спасибо люди, оказиваеться ето всьо бил только "муляж", собака била зарита совсем не там, мне удалось нормально залогиниться, большое спасибо всем за помощ
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / (JS) помогите понять что делаеться / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]