Странные куки

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Tip.the.besT, 23 Sep 2012.

  1. Tip.the.besT

    Tip.the.besT Member

    Joined:
    24 Jun 2009
    Messages:
    267
    Likes Received:
    10
    Reputations:
    4
    Раньше не сталкивался с подобным, да и в JS как - то не сильно. В общем делаю запрос например на адрес - http://www.offgamers.com/supplier_xmlhttp.php?action=get_buyback_server_list&buyback_cat_id=1401&slang=1&buyback_products_id=0

    таким кодом (synapse, особой разницы конечно нет, на индейце наверно тоже будет, хотя не пробовал ещё):
    Code:
    http:=thttpsend.Create;
    slist:=tstringlist.Create;
    http.UserAgent:='Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1';
    http.AddPortNumberToHost:=false;
    http.MimeType:='application/x-www-form-urlencoded';
    
    http.HTTPMethod('get','http://www.offgamers.com/supplier_xmlhttp.php?action=get_buyback_server_list&buyback_cat_id=1401&slang=1&buyback_products_id=0');
    slist.LoadFromStream(http.Document);
    showmessage(slist.Text); showmessage(http.Headers.Text);
    
    Отвечает следующие:
    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="Content-Script-Type" content="text/javascript"><script type="text/javascript">function setCookie(c_name, value, expiredays) { var exdate = new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/"; } function getHostUri() { var loc = document.location; return loc.toString(); } setCookie('YPF8827340282Jdskjhfiw_928937459182JAX666', '212.164.61.1*1', 10); setCookie('DOAReferrer', document.referrer, 10); location.href = getHostUri();</script></head><body><noscript>This site requires JavaScript and Cookies to be enabled. Please change your browser settings or upgrade your browser.</noscript></body></html>  

    И как это в куки обратить, или чё сделать надо. Но когда смотрю снифером, то показывает, что страница сразу получается, без всяких редеректов и прочего. Как такое может быть? Что делать в таких случаях?

    Ах да, забыл, что если куки получил, то даже в браузере с этими куками не грузится уже страница.
     
    #1 Tip.the.besT, 23 Sep 2012
    Last edited: 26 Sep 2012
  2. 2echnoman

    2echnoman New Member

    Joined:
    3 Jul 2012
    Messages:
    54
    Likes Received:
    0
    Reputations:
    0
    Хм. В IE у меня идет два запроса, когда я обращаюсь по твоему url-у. Сначало получаю то что выше. А затем: <response>You are not allowed to access from outside</response>. Куки же там в коде вставлены: setCookie('YPF8827340282Jdskjhfiw_928937459182JAX666', '109.229.81.221', 10); setCookie('DOAReferrer', document.referrer, 10). Выдернуть их легко.
     
  3. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    хм... что странного?

    ответ, заголовок:


    Code:
    Server: nginx/1.2.0
    Date: Sun, 23 Sep 2012 19:23:57 GMT
    Content-Type: text/html
    Transfer-Encoding: chunked
    Connection: close
    P3P: CP="NON DSP COR ADMa OUR IND UNI COM NAV INT"
    Cache-Control: no-cache, no-store, must-revalidate
    Pragma: no-cache
    

    Функция назначения куков, через JS.

    Code:
    <script type="text/javascript">
    	function setCookie(c_name, value, expiredays) 
    	{ 
    		var exdate = new Date(); 
    		exdate.setDate(exdate.getDate()+expiredays); 
    		document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/"; 
    	} 
    	function getHostUri() 
    	{ 
    		var loc = document.location; 
    		return loc.toString(); 
    	} 
    	setCookie('YPF8827340282Jdskjhfiw_928937459182JAX666', '188.162.37.ip', 10); 
    	setCookie('DOAReferrer', document.referrer, 10); 
    	location.href = getHostUri();
    </script>
    Суть Просто эмулироешь на дельфях функцию set-cookie, дальше делаешь редирект, на location.
    все...
     
  4. Tip.the.besT

    Tip.the.besT Member

    Joined:
    24 Jun 2009
    Messages:
    267
    Likes Received:
    10
    Reputations:
    4
    Как вот это эмулировать?:
    Code:
    function setCookie(c_name, value, expiredays) 
    	{ 
    		var exdate = new Date(); 
    		exdate.setDate(exdate.getDate()+expiredays); 
    		document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/"; 
    	} 
     
     
  5. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Это функция устанавливает куки установленные в valut аргументе функции.
    Ищи место где она вызываеться.