рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рджрд┐рди рдореБрдЭреЗ
VKontakte рдЬрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдереА
редрдЙрд╕ рд╕рдордп рдореИрдВрдиреЗ рдПрдХ рдмрдбрд╝реА рдХрдВрдкрдиреА рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╕реНрдерд╛рдиреАрдп рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдиреЗ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рджрд┐рдпрд╛, рдЬреЛ рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд╕рдВрдХреЗрдд рдереЗ, рдФрд░ рди рдХреЗрд╡рд▓ рдпрд╣ред рдмреЗрд╢рдХ, рдореБрдЭреЗ рдЧреБрдордирд╛рдореА рдмрд╛рдмрд╛рдУрдВ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреА рд╕реЗрд╡рд╛ рдХреА рдЧрддрд┐ рдФрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдмреЗрд╣рдж рдкрд░реЗрд╢рд╛рди рдерд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╡рд░реНрддрдорд╛рди рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдиреЛрдб рд╕реЗ рд╣реЛрдХрд░ рдЧреБрдЬрд░рддрд╛ рд╣реИ рдЬреЛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ HTTP рдЯреНрд░реИрдлрд╝рд┐рдХ рдЖрдорддреМрд░ рдкрд░ рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрднреА рднреА рдкреИрд╕реЗ рджреЗрдиреЗ рд╣реЛрдВрдЧреЗ, рдЖрдкрдХреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдПрдХ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдФрд░ рдЖрдкрдХрд╛ рдЕрдкрдирд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╣реЛрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЬрдиреНрдо рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рдЧрдИ (рдкреНрд░реЙрдХреНрд╕реА) рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рд╣реБрдЖ рдерд╛ред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реВрдБрдЧрд╛ рдЬреЛ рд╡реЗрдм-рдкреНрд░реЙрдХреНрд╕реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:- рдЕрдкрд╛рдЪреЗ реи
- mod_rewrite, php_curl рдХреЗ рд╕рд╛рде PHP
рдХреЗрд╡рд▓ VKontakte рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
Inhtaccess рдореЗрдВ рдЖрдкрдХреЛ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.*)$ /_?url=$1 [QSA]
рдпрд╣ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдХрд┐рд╕реА рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред
script_name - index.php рдЖрджрд┐ рди рдХрд░реЗрдВред
рдЕрдЧрд▓рд╛, рдкреНрд░рд╛рдзрд┐рдХрд░рдг
рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ 2 рдбреЛрдореЗрди рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
vkontakte.ru/login.php рдФрд░
login.vk.com/?act=login curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "email=".$email."&pass=".$pass); curl_setopt($ch, CURLOPT_URL, 'http://vkontakte.ru/login.php'); $body = curl_exec($ch);
curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "email=".$email."&pass=".$pass); curl_setopt($ch, CURLOPT_URL, 'http://login.vk.com/?act=login'); $body = curl_exec($ch);
рдЙрдк рдбреЛрдореЗрди
рдореИрдВрдиреЗ VK рдореЗрдВ 3rd рд▓реЗрд╡рд▓ рд╕реЗ рдмрдбрд╝рд╛ рдбреЛрдореЗрди рдирд╣реАрдВ рджреЗрдЦрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдбреЛрдореЗрди рдХрд╛ рдкреВрд░рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ред
$subdomain = explode(".",$_SERVER['SERVER_NAME']); if (count($subdomain) > $cnt_server) $sub = $subdomain[0]."."; else $sub = "";
рд╕рднреА (*) рдЙрдк рдбреЛрдореЗрди рдХреЛ
DNS рдФрд░
VirtualHost рдореЗрдВ рднреА рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рднрд╡рди рдХреНрд╡реЗрд░реА, GET рдФрд░ POST
рдкреНрд░рд╢реНрди рднреА рдЗрддрдиреЗ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИрдВ - рд╡реЗ
рджреЛрд╣рд░реЗ рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЦреЛрдЬ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореБрдЭреЗ рдЬреНрдпрд╛рджрд╛ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреА рд╕реВрдЪрдирд╛ рдирд╣реАрдВ рдереАред
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛:
$gl = $_GET; $first_get = true; $flink = false; foreach($gl as $key_get => $value_get){ if(!$flink){ $flink = true; continue; } if(is_array($gl[$key_get])){ foreach($gl[$key_get] as $dbkey_get => $dbvalue_get){ $link .= ($first_get?"?":"&").$key_get."[".$dbkey_get."]".(!empty($dbvalue_get) ? "=".urlencode($dbvalue_get) : ""); $first_get = false; } } else { $link .= ($first_get?"?":"&").$key_get.(!empty($value_get) ? "=".urlencode($value_get) : ""); $first_get = false; } }
POST рдХреЗ рд╕рд╛рде рд╣реА рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред
рдЫрд╛рдирдиреЗ
рдЕрд▓реМрдХрд┐рдХ рдХреБрдЫ рднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЧрдП рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдФрд░ рд▓рд┐рдВрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдиред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рд╡реАрдХреЗ
рд╡рд┐рдВрдбреЛрдЬ -121 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдФрд░
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд
рдЧрдЬрд╝рд┐рдк рдореЗрдВ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ cURL рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
curl_setopt($ch, CURLOPT_ENCODING , 'gzip');
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрд╕рдореНрдкреАрдбрд┐рдд js- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рднреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ
рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рд▓рд┐рдкрд┐ рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЫрджреНрдо
рдмрд╛рдпрдкрд╛рд╕ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рддред
рд░реЛрдмреЛрдЯ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдиреЗ рднреА рдкреНрд░рд╡реЗрд╢ рд░рджреНрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЙрдирдХрд╛ рдзреЛрдЦрд╛ рдПрдХ рдЕрд▓рдЧ рдорд╛рдорд▓рд╛ рд╣реИред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдореБрдЦреНрдп рдпрд╛рддрд╛рдпрд╛рдд рдЫрд╡рд┐ рдкрд░ рдкрдбрд╝рддрд╛ рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЕрд░реНрдерд╛рддреНред рдЗрд╕рд▓рд┐рдП рдХрд┐ рдПрдХ рдЖрдИрдкреА рд╕реЗ рдмрдбрд╝реЗ рдЯреНрд░реИрдлрд┐рдХ рдХрд╛ рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рдерд╛, рдЙрдиреНрд╣реЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдкрд░ рдирд╣реАрдВ рдЖрдпрд╛ред
PS рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдкрдХреЛ рдСрдбрд┐рдпреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рд╕рд╛рдордЧреНрд░реА рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХреБрдЫ рдПрдирд╛рд▓реЙрдЧ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЦреЗрд▓, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред
рдкреАрдкреАрдПрд╕ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рд╡реАрдХреЗ рд╕реЗ рдПрдЪрдЯреАрдЯреАрдкреА-рдкреНрд░рд╛рдзрд┐рдХрд░рдг (рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХрдм рд╣реБрдЖ) рдХреЗ рд╕рдВрдХреНрд░рдордг рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА, рдпрд╛ рдмрд▓реНрдХрд┐ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреАред