Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Ошибка безопасности при инвайте в группу. в чем дело? |

01.03.2010, 22:46
|
|
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме: 500264
Репутация:
69
|
|
Ошибка безопасности при инвайте в группу. в чем дело?
накаталд функцию для инвайта в группу по кукам. В ответе от сервера вываливается ошибка безопасности. В чем же может быть дело? оО
Код:
function InviteGr(id, gid, sid: string): string;
var
HTTP : TidHTTP;
hash : string;
Temp : string;
Page : TStringList;
Post : TStringList;
Cook : TidCookieManager;
I : Integer;
begin
HTTP := TidHTTP.Create(nil);
Cook := TidCookieManager.Create(nil);
Page := TStringList.Create;
Cook.AddCookie('remixsid=' + sid, 'vkontakte.ru');
Cook.AddCookie('remixchk=5;', 'vkontakte.ru');
Cook.AddCookie('remixclosed_tabs=0;', 'vkontakte.ru');
Cook.AddCookie('remixlang=0;', 'vkontakte.ru');
Cook.AddCookie('remixgroup_closed_tabs=0;', 'vkontakte.ru');
Cook.AddCookie('audio_vol=52', 'vkontakte.ru');
HTTP.Request.Referer := 'http://vkontakte.ru/club' + gid;
HTTP.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 MRA 5.6 (build 03278) Firefox/3.6 sputnik 2.1.0.18';
HTTP.Request.Accept := 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
HTTP.Request.AcceptLanguage := 'ru,en-us;q=0.7,en;q=0.3';
HTTP.Request.Connection := 'keep-alive';
HTTP.Request.ContentType := 'application/x-www-form-urlencoded; charset=UTF-8';
HTTP.Request.Pragma := 'no-cache';
HTTP.Request.CacheControl := 'no-cache';
HTTP.Request.Host := 'vkontakte.ru';
HTTP.Request.AcceptCharSet := 'windows-1251,utf-8;q=0.7,*;q=0.7';
HTTP.Request.CustomHeaders.Add('X-Requested-With: XMLHttpRequest');
HTTP.CookieManager := Cook;
HTTP.AllowCookies := True;
HTTP.HandleRedirects := True;
Page.Text := HTTP.Get('http://vkontakte.ru/club' + gid);
for I := 0 to Page.Count -1 do
begin
If Pos('act=a_invite_friends', Page[i]) <> 0 Then
begin
hash := Page[i];
ShowMessage(hash);
hash := Copy(hash, Pos('decodehash', hash) +12, Length(hash));
Delete(hash, Pos(#39, hash), Length(hash));
end;
end;
Post := TStringList.Create;
Post.Add('friends=' + id);
Post.Add('gid=' + gid);
Post.Add('hash=' + DecodeHash(hash));
Temp := HTTP.Post('http://vkontakte.ru/groups_ajax.php?act=a_invite_friends', Post);
Post.Free;
Page.Free;
Http.Free;
Cook.Free;
end;
|
|
|

01.03.2010, 22:56
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Приведи тело и заголовки ответа
|
|
|

01.03.2010, 22:59
|
|
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме: 500264
Репутация:
69
|
|
Заголовки:
Код:
HTTP/1.1 200 OK
Server:nginx/0.7.59
Date:Mon, 01 Mar 2010 18:57:44 GMT
Content-Type:text/html; charset=windows-1251
Connection:keep-alive
X-Powered-By:PHP/5.2.6-1+lenny3
Pragma:no-cache
Cache-control:no-store
Vary:Accept-Encoding
Content-Length:32
Тело:
Код:
{"error":"Ошибка безопасности."}
|
|
|

01.03.2010, 23:02
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
http://yavkontakte.ru/kody-oshibok-vkontakte-otvety-kontakty-pri-zapretax.html тут посмотри, список всех ошибок вконтакте
и ты кстати забыл в try finally функцию обернуть
|
|
|

01.03.2010, 23:04
|
|
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме: 500264
Репутация:
69
|
|
так блин. Там все ошибки связанные с blank.php а try...finally пока подождут... так что не так?
|
|
|

01.03.2010, 23:13
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
скорее всего что то где то пропустил, или эта ошибка просто не систематизирована в вк
у меня нет функции DecodeHash, проверить у себя не могу
|
|
|

02.03.2010, 00:27
|
|
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме: 500264
Репутация:
69
|
|
я сравнивал хэш со страницы и с проги. оба декодированные. совпадают полностью.
|
|
|

02.03.2010, 21:37
|
|
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме: 500264
Репутация:
69
|
|
ау!! народ! в чем там дело? о_О приведу код DecodeHash, если вы в нем сомниваетесь)
Код:
function DecodeHash(chas: string): string;
var
Decchas : string;
str : string;
I : Integer;
Len : integer;
begin
str := Copy(chas, 6, 12);
Len := Length(str);
For I := 0 To Length(str) -1 do
begin
Decchas := Decchas + str[len];
Inc(len, -1);
end;
str := Copy(chas, 21, Length(chas) -5);
str := str + Copy(chas, 5, 1);
Len := Length(str);
For I := 0 To Length(str) -1 do
begin
Decchas := Decchas + str[len];
Inc(len, -1);
end;
Result := Decchas;
end;
|
|
|

02.03.2010, 22:05
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Ты не так понял.
Я не сомневался в decodehash, я вообще не знаю что это за функция и для чего она нужна, я говорил о том что проверить не могу, потому что у меня ее нет.
Так, а ты на разных группах тестил? На открытых тоже?
Вот например у тебя строку act=a_invite_friends находит даже когда нет ссылки на приглашение друзей, надо дополнительно проверять возможность приглашения в группу.
Так, и еще ты не написал когда именно происходит ошибка, в 1-ом или 2-ом запросе.
Последний раз редактировалось GhostOnline; 02.03.2010 в 22:19..
|
|
|

03.03.2010, 07:39
|
|
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме: 500264
Репутация:
69
|
|
я уже разобралсо) оказывается на приглашения "не друзей" нужны совсем другие параметры))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|