Żeby nie być gołosłownym, oto funkcja logowania do VB wyciągnięta z jednej z moich aplikacj, wydaje się działać z każdą wersją VB,
Chyba trafiłeś na właściwego rozmówcę, a przynajmniej na takiego, który jest na bierząco z takimi pierdółkami
Kod php:
<?php
function login() {
$url = 'http://hack.pl/';
$this->sock =& new HTTP_Request();
$this->sock->_allowRedirects = true;
$this->sock->clearCookies();
$this->sock->setURL($url);
$this->sock->setMethod('GET');
$this->sock->sendRequest();
if ( ! $data = $this->sock->getResponseBody()) {
return error('unable to login (socket error)');
}
$this->sock->_allowRedirects = false;
$dom = new DOMDocument;
@$dom->loadHTML($data);
success('login form dom begun');
$formList = $dom->getElementsByTagName('form');
if ( ! is_object($formList) OR 0 == $formList->length ) {
return error('unable to find form list');
}
$form = $formList->item(0);
if ( ! is_object($form)) {
return error('unable to find login form');
}
$action = $form->getAttribute('action');
if ( ! is_string($action)) {
return error('unable to find login form action');
}
$params = array();
$inputList = $form->getElementsByTagName('input');
if ( ! is_object($inputList) OR 0 == $inputList->length ) {
return error('unable to find login form inputs');
}
for ( $i = 0, $j = $inputList->length; $i < $j; $i++ ) {
$input = $inputList->item($i);
if ( $name = $input->getAttribute('name')) {
$params[$name] = $input->getAttribute('value');
}
}
$login = select_login( $project_id, $context );
$params = array(
'vb_login_username' => $login->login,
'vb_login_password' => $login->password,
's' => '',
'securitytoken' => $params['securitytoken'],
'do' => 'login',
'vb_login_md5password' => '',
'vb_login_md5password_utf' => '',
);
$url = $url . 'login.php?do=login';
$this->sock->setURL($url);
$this->sock->setMethod('POST');
$this->sock->clearPostData();
foreach ( $params as $key => $val ) {
$this->sock->addPostData($key, $val);
}
$this->sock->sendRequest();
if ( ! $data = $this->sock->getResponseBody()) {
return error('unable to login (socket error)');
}
return success('logged success');
}
?>