Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подделка имени браузера
 
 автор: P@Sol   (06.02.2006 в 16:26)   письмо автору
 
 

как сделать так, чтобы скрипт думал, что я пользуюсьь Opera 9.0 /EN 1.0x?
знаю есть в реестре параметры "По умолчанию", "Compatible", "Platform", "Version" что туда надо прописать?

ветка в реестре: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent

или не то я делаю вообще?

   
 
 автор: PantiL   (06.02.2006 в 20:52)   письмо автору
 
   для: P@Sol   (06.02.2006 в 16:26)
 

Оффтоп. Самый лучший способ чтоб скрипт думал что у Вас Опера это пользоваться ей. Так и Вам будет максимально удобно и скрипт будет доволен :)

   
 
 автор: Unkind™   (07.02.2006 в 00:08)   письмо автору
 
   для: PantiL   (06.02.2006 в 20:52)
 

>Самый лучший способ чтоб скрипт думал что у Вас Опера это пользоваться ей.
PantiL, мне кажется, он хочет подделать платформу, а не браузер сам...

2 P@Sol, насчет реестра не пробовал, а вот с помощью PHP можно...Ну то есть вообще подделать UserAgent...

<?php 
  $hostname 
"www.ru"
  
$path "/path/script.php";
  
$line ""
  
$fp fsockopen($hostname80$errno$errstr30); 
  if (!
$fp) echo "$errstr ($errno)<br />\n"
  else 
  { 
    
$data ""\r\n\r\n"; 
    
$headers = "POST $path HTTP/1.1\r\n"; 
    
$headers .= "Host$hostname\r\n"; 
    
$headers .= "UserAgentOpera/9.0 (EN 1.0xUru)\r\n"; 
    
$headers .= "Content-typeapplication/x-www-form-urlencoded\r\n"; 
    
$headers .= "Content-Length".strlen($data)."\r\n\r\n"; 
    fwrite(
$fp$headers.$data); 
    while (!feof(
$fp)) 
    { 
      
$line .= fgets($fp, 1024); 
    } 
    fclose(
$fp); 
  } 
  echo "
Данные переданы...<br>";
?>

   
 
 автор: P@Sol   (07.02.2006 в 10:44)   письмо автору
 
   для: Unkind™   (07.02.2006 в 00:08)
 

что то не работает:( что такое rn?

   
 
 автор: cheops   (07.02.2006 в 13:02)   письмо автору
 
   для: P@Sol   (07.02.2006 в 10:44)
 

Лишняя кавычка в строке
<?php
$data 
""rnrn";
?>

   
 
 автор: P@Sol   (07.02.2006 в 13:08)   письмо автору
 
   для: cheops   (07.02.2006 в 13:02)
 

:) угу и перед r и n не хватает \

   
 
 автор: P@Sol   (07.02.2006 в 09:44)   письмо автору
 
   для: PantiL   (06.02.2006 в 20:52)
 

дело в том, что такого браузера нет:))

   
 
 автор: P@Sol   (07.02.2006 в 15:06)   письмо автору
 
   для: P@Sol   (06.02.2006 в 16:26)
 

Вот до чего дошел:

<?php
  $host 
"www.wcode.ru";
  
$path "/quest/game.php";
  
$line "";

  
$fp fsockopen($host80$errno$errstr30);
  if (!
$fp) echo "$errstr ($errno)<br />\n";
  else
  {
    
$headers "GET $path HTTP/1.1\r\n";
    
$headers .= "Host: $host\r\n";
    
$headers .= "Connection: Close\r\n\r\n";
    
fwrite($fp$headers);
    while (!
feof($fp))
    {
      
$line fgets($fp1024);
      
preg_match("|Set-Cookie: PHPSESSID=([\d\w]+);|i",$line,$out);
      if(!empty(
$out[1]))
      {
        
$SID $out[1];
        break;
      }
    }
    
fclose($fp);
  }



  
$fp fsockopen($host,80,$errno,$errstr,30);
  if(!
$fp) echo"$errstr ($errno)<br />\n";
  else{
          
$data "level=6&PHPSESSID=$SID&\r\n\r\n";
    
$headers "POST $path HTTP/1.1\r\n";
    
$headers .= "Host: $host\r\n";
    
$headers .= "User-Agent: Opera/9.0 (EN 1.0x; U; ru)\r\n";
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$headers .= "Content-Length: ".strlen($data)."\r\n";
    
$headers .= "Cookie: PHPSESSID=$SID;\r\n";
    
$headers .= "Connection: Close\r\n\r\n";


    
fwrite($fp$headers.$data);
    while (!
feof($fp))
    {
      
$line .= fgets($fp1024);
    }
    
fclose($fp);
  }
  echo 
$line;

?>

все дело в том, чтобы попасть на ту страницу надо ввести логин и пароль...не получаеться:(

   
 
 автор: Unkind™   (07.02.2006 в 17:42)   письмо автору
 
   для: P@Sol   (07.02.2006 в 15:06)
 

А логин/пароль передаются в GET-массиве или через метод POST?

   
 
 автор: P@Sol   (08.02.2006 в 14:06)   письмо автору
 
   для: Unkind™   (07.02.2006 в 17:42)
 

вообщем все получилось...без логина и пароля, просто сессиюю подделал

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования