ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #3051  
Старый 01.06.2009, 20:03
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

Цитата:
Вообще это небезопасно

Именно. Все атрибуты лучше хранить как protected или private, а доступ к ним предоставлять через соответствующие методы, тк открытость нарушает модель инкапсуляции и обьекты классов по большому счету ничем не отличаются от структур.
в том то и дело что у меня private
 

  #3052  
Старый 01.06.2009, 20:28
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

ну перегрузи оператор инкремента. правда это актуально если инкремент логически относится ко всем полям класса. вообще для того и прячут поля, чтобы обращаца к ним через геттеры и сеттеры, так что не изобретай велосипед и делай как все =) может когда нить проперти впаяют в с++, тогда можно будет прозрачно вызывать гетеры и сетеры обращаясь к полям по имени. но имхо это скорее запутает, ибо тогда становится не понятно, когда переменная скрыта, а когда нет.
 

  #3053  
Старый 04.06.2009, 11:04
Spy2ex
Новичок
Регистрация: 20.09.2008
Сообщений: 29
Провел на форуме:
528520

Репутация: 13
По умолчанию

Хочу средствами С++ авторизоватся на мейл.ру, отловить я все заголовки что отправляет мой браузер я составил запрос..
В ответе на него получаю "302 ok"
Ну там маленькая загвоздка, нету строки "location"
Пересмотрел я в браузере что отправил мне сервер,
строку "location" я нашол.
Ну вот не пойму почему когда я запускаю код я ее не получаю? Может куки не получил, и как вообще получать куки с сайтов ?
Пмоготи пожалуйста.

Что отправил мне сервер, когда я захожу через браузер:
Код:
Set-Cookie: t=obLAABAAABAAAAAAAAAAAZAAYMxAcA; expires=Mon, 30 Nov 2009 20:32:18 GMT; path=/; domain=.mail.ru
Set-Cookie: Mpop=1244061138:77524f5950525b41185c515f541c404d:login@mail.ru:; expires=Tue, 01 Sep 2009 20:32:18 GMT; path=/; domain=.mail.ru
Location: http://win.mail.ru/cgi-bin/checkcookie?id=775b4760627d7e7019050210041850575d4a54495a524f5950525b41185c515f541c404d

Код моего клиента:
Код:
#include <stdio.h>
#include <string.h>
#include <winsock2.h>
#include <windows.h>
#include <ctype.h>


#define PORT 80
#define SERVERADDR "194.67.57.126"     // Адрес сервера

#pragma comment(lib, "Ws2_32.lib")   //либа

int main ( int argc, char* argv [ ] )
{
		WSADATA wd;
		char buff[100000];
		char buff2[100000]=
		{

		
		"POST /cgi-bin/auth HTTP/1.1\r\n"
"Host: win.mail.ru\r\n"
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9) Gecko/2008051206 Firefox/3.0 (.NET CLR 3.5.30729)\r\n"
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
"Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n"
"Accept-Encoding: gzip,deflate\r\n"
"Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n"
"Keep-Alive: 300\r\n"
"Connection: keep-alive\r\n"
"Referer: http://win.mail.ru/cgi-bin/login\r\n"
"Cookie: Mpop=1244052980:04707c6077015d01190502190a1d0000041850575d4a54495a524f5950525b41185c515f541c404d:aov@mail.ru:; t=obLD1AAAAAAIAAAABAAAAAAAAAAAZAAYMxAcA; mrcu=ED294A236BAD221A30F778B8D75F; c8=TNYmSgAAAAKA3gIAAAAAApAJBAAAAAACgN0CAAAAAAK5dgEAAAAAAsVGAAAAKA1wEAAAAAApF6AQAAAAACYCIBAAAAAAH5UgEAAAAA; c0=P+oHTAAAAAJZdAwAAAAA; p=i9mYAJpP+QAA; VID=1TUY9324cAme\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n"
"Content-Length: 79\r\n\r\n"
"page=&post=&login_from=&Login=login&Domain=mail.ru&Password=pass"
};
        printf ( "TCP Client \n" ); // ну, тут и так понятно

        if ( WSAStartup ( 0x202, &wd ) )
        {
                printf ( " WSAStart error  %d \n ", WSAGetLastError ( ) );
                return -1;
        }

        SOCKET sock ;
        sock=socket ( AF_INET, SOCK_STREAM, 0 );
        if  ( sock < 0 )
        {
			printf (" Socket ( ) error    %d \n ", WSAGetLastError ( ) );
			return  -1;
        }

        sockaddr_in  dest_addr;
        dest_addr.sin_family=AF_INET; //инет коннектинг
        dest_addr.sin_port=htons ( PORT ); //порт
        HOSTENT    *hst;  // хост

        if( inet_addr(SERVERADDR) != INADDR_NONE )
			dest_addr.sin_addr.S_un.S_addr = inet_addr(SERVERADDR);
        else if( hst=gethostbyname ( SERVERADDR ) )
			( ( unsigned long   * ) &dest_addr.sin_addr )[0]=((unsigned long** )hst->h_addr_list)[0][0];
        else
        {
               printf( "invalid address  %s \n", SERVERADDR );
               closesocket( sock ) ;
               WSACleanup();
               return  -1;
        }

        if(connect( sock, (sockaddr *)&dest_addr, sizeof(dest_addr) ))
        {
               printf (" Connect error  %d \n ", WSAGetLastError ( ) );
               return -1;
        }

		send( sock, buff2, sizeof(buff2), 0);
		recv( sock, buff, sizeof(buff)-1, 0 );

        printf("%s",buff);
        printf ("Connection with %s succesfully. quit - quit" , SERVERADDR );
        return 0;


		}
 

  #3054  
Старый 04.06.2009, 14:02
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

как юзать статическую переменную класса?

class DateTime
{
static int count;
// static int count = 0; // incorrect
}

DateTime:ateTime():
count(0) // incorrect
{
DateTime::count = 0; // incorrect
count = 0; // incorrect
}

....

DateTime obj;
obj::count // incorrect
DateTime::count // incorrect

как её вообще задать и обращаться к ней внутри класса и снаружи?
 

  #3055  
Старый 04.06.2009, 14:18
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

А цель статической переменной, чтобы после создания удалилась? Объявляй снаружи тогда уж..
 

  #3056  
Старый 04.06.2009, 15:04
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

нет, мне нужно посчитать в конструкторе сколько раз был создан класс
переменную тока инкрементировать и выводить
 

  #3057  
Старый 04.06.2009, 15:08
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Код:
class some {
	static int s;	
};

int some::s = 123;
>мне нужно посчитать в конструкторе сколько раз был создан класс

Жесть.
 

  #3058  
Старый 04.06.2009, 15:09
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

Цитата:
Сообщение от Дикс  
как юзать статическую переменную класса?

как её вообще задать и обращаться к ней внутри класса и снаружи?
Объявляешь в хидере напимер так

Код:
#pragma once
#include <vector>

class Worker
{
public:
	Worker(void);
	~Worker(void);

	static std::vector<Worker*> workers;
};
Дальше в cpp файле того же класса

Код:
std::vector<Worker*> Worker::workers;
Обращаца к статик переменной можно только из статик методов класса. Не, пезжу =) Статик метод не может обращаца к нестатичтным методам. Из нестатик методов же обращение к статик можно. Если обращение извне класса, то юзаешь указание области видимости, например так

Код:
Worker::workers.push_back(new Worker);

Последний раз редактировалось Ra$cal; 04.06.2009 в 15:13..
 

  #3059  
Старый 04.06.2009, 18:10
G0lovorez 2033
Новичок
Регистрация: 21.04.2009
Сообщений: 19
Провел на форуме:
190563

Репутация: 3
По умолчанию

скажите код bb кода для сайта пожалуйста
 

  #3060  
Старый 04.06.2009, 18:14
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ