Назначение секции
Это одна из самых главных секций в шаблоне, именно в ней указывается параметры обращения к киллборде.
Список полей секции
· description - уникальное наименование шаблона
· host - полный путь к скрипту отправки
· header - заголовок формируемый при отправке, обязательно должен содержать переменную %mail_len%
· template - данные отправляемые методом POST, обязательно должен содержать переменную %killmail%
Поле DESCRIPTION
Первым делом мы укажем название нашего шаблона, за это отвечает переменная description в секции MAIN шаблона.
Желательно выбрать финальное имя сразу и не менять его в последствии, т.к. KMS использует имя шаблона как уникальное значение и ориентируется на него при сохранении настроек киллборд и в некоторых других случаях.
Получение формата запроса
Для заполнения остальных трех полей секции необходимо сначала узнать формат POST запроса, при отправке киллмыла на киллборду, к которой создается шаблон.
Для этого можно воспользоваться либо специальными инструентами, разбирающими запрос браузера на составляющие (например HTTP Analyzer триал 1 неделя) либо воспользоваться любым сниффером.
Рассмотрим снятие тела запроса на примере сниффера. Я использовал для этого собственный самописный сниффер, вы можете воспользоваться любым другим.
Итак, открываем в браузере нашу киллборду на форме отправки письма, вводим пароль (если необходимо) и само киллмыло в соответствующее поле.
Запускаем сниффер и отправляем письма на киллборду.
В снифере смотрим текст запроса, сформированный браузером при отправке письма.
Пример:
Киллборда: www.eve-tbs.ru/kb/?a=post
Пароль для отправки писем: testpassword (естественно невалидный :)
Отправляемое письмо имеет вид:
2009.02.17 17:33
Victim: Regnars
Corp: Polish Cavalry
Alliance: The Black Isle
Faction: NONE
Destroyed: Capsule
System: BWF-ZZ
Security: 0.0
Damage Taken: 372
Involved parties:
Name: Great Creator (laid the final blow)
Security: 0.6
Corp: The Black Scorpions
Alliance: None
Faction: NONE
Ship: Huginn
Weapon: Dual 180mm AutoCannon II
Damage Done: 372
Текст запроса при отправке получился следующий:
------------------------------ Packet dump -----------------------------------
000000 45 00 04 F4 10 C9 40 00 | 80 06 62 87 C0 A8 00 FE E.....@...b.....
000010 C0 A8 00 65 07 2A F9 EF | B1 FC 6F 1C 27 54 15 B5 ...e.*....o'T..
000020 50 18 FF FF B3 79 00 00 | 50 4F 53 54 20 2F 6B 62 P....y..POST /kb
000030 2F 3F 61 3D 70 6F 73 74 | 20 48 54 54 50 2F 31 2E /?a=post HTTP/1.
000040 31 0D 0A 48 6F 73 74 3A | 20 77 77 77 2E 65 76 65 1..Host: www.eve
000050 2D 74 62 73 2E 72 75 0D | 0A 55 73 65 72 2D 41 67 -tbs.ru..User-Ag
000060 65 6E 74 3A 20 4D 6F 7A | 69 6C 6C 61 2F 35 2E 30 ent: Mozilla/5.0
000070 20 28 57 69 6E 64 6F 77 | 73 3B 20 55 3B 20 57 69 (Windows; U; Wi
000080 6E 64 6F 77 73 20 4E 54 | 20 35 2E 31 3B 20 72 75 ndows NT 5.1; ru
000090 3B 20 72 76 3A 31 2E 39 | 2E 30 2E 35 29 20 47 65 ; rv:1.9.0.5) Ge
000100 63 6B 6F 2F 32 30 30 38 | 31 32 30 31 32 32 20 46 cko/2008120122 F
000110 69 72 65 66 6F 78 2F 33 | 2E 30 2E 35 0D 0A 41 63 irefox/3.0.5..Ac
000120 63 65 70 74 3A 20 74 65 | 78 74 2F 68 74 6D 6C 2C cept: text/html,
000130 61 70 70 6C 69 63 61 74 | 69 6F 6E 2F 78 68 74 6D application/xhtm
000140 6C 2B 78 6D 6C 2C 61 70 | 70 6C 69 63 61 74 69 6F l+xml,applicatio
000150 6E 2F 78 6D 6C 3B 71 3D | 30 2E 39 2C 2A 2F 2A 3B n/xml;q=0.9,*/*;
000160 71 3D 30 2E 38 0D 0A 41 | 63 63 65 70 74 2D 4C 61 q=0.8..Accept-La
000170 6E 67 75 61 67 65 3A 20 | 72 75 2C 65 6E 2D 75 73 nguage: ru,en-us
000180 3B 71 3D 30 2E 37 2C 65 | 6E 3B 71 3D 30 2E 33 0D ;q=0.7,en;q=0.3.
000190 0A 41 63 63 65 70 74 2D | 45 6E 63 6F 64 69 6E 67 .Accept-Encoding
000200 3A 20 67 7A 69 70 2C 64 | 65 66 6C 61 74 65 0D 0A : gzip,deflate..
000210 41 63 63 65 70 74 2D 43 | 68 61 72 73 65 74 3A 20 Accept-Charset:
000220 77 69 6E 64 6F 77 73 2D | 31 32 35 31 2C 75 74 66 windows-1251,utf
000230 2D 38 3B 71 3D 30 2E 37 | 2C 2A 3B 71 3D 30 2E 37 -8;q=0.7,*;q=0.7
000240 0D 0A 4B 65 65 70 2D 41 | 6C 69 76 65 3A 20 33 30 ..Keep-Alive: 30
000250 30 0D 0A 43 6F 6E 6E 65 | 63 74 69 6F 6E 3A 20 6B 0..Connection: k
000260 65 65 70 2D 61 6C 69 76 | 65 0D 0A 52 65 66 65 72 eep-alive..Refer
000270 65 72 3A 20 68 74 74 70 | 3A 2F 2F 77 77 77 2E 65 er: http://www.e
000280 76 65 2D 74 62 73 2E 72 | 75 2F 6B 62 2F 3F 61 3D ve-tbs.ru/kb/?a=
000290 70 6F 73 74 0D 0A 43 6F | 6F 6B 69 65 3A 20 65 76 post..Cookie: ev
000300 65 74 62 73 72 75 5F 6B | 3D 63 39 61 30 32 31 64 etbsru_k=c9a021d
000310 38 62 65 63 65 62 32 33 | 32 3B 20 73 74 79 6C 65 8beceb232; style
000320 5F 63 6F 6F 6B 69 65 3D | 70 72 69 6E 74 6F 6E 6C _cookie=printonl
000330 79 3B 20 65 76 65 74 62 | 73 72 75 5F 75 3D 35 33 y; evetbsru_u=53
000340 3B 20 65 76 65 74 62 73 | 72 75 5F 73 69 64 3D 66 ; evetbsru_sid=f
000350 38 38 35 30 36 35 34 63 | 63 62 32 62 33 32 33 34 8850654ccb2b3234
000360 38 66 65 62 37 65 66 38 | 39 63 64 33 66 63 37 3B 8feb7ef89cd3fc7;
000370 20 73 65 73 73 69 6F 6E | 63 6F 6F 6B 69 65 3D 30 sessioncookie=0
000380 65 63 31 64 61 65 31 38 | 63 62 64 31 31 35 62 66 ec1dae18cbd115bf
000390 35 38 63 39 65 64 32 66 | 30 62 33 63 66 35 64 0D 58c9ed2f0b3cf5d.
000400 0A 43 6F 6E 74 65 6E 74 | 2D 54 79 70 65 3A 20 61 .Content-Type: a
000410 70 70 6C 69 63 61 74 69 | 6F 6E 2F 78 2D 77 77 77 pplication/x-www
000420 2D 66 6F 72 6D 2D 75 72 | 6C 65 6E 63 6F 64 65 64 -form-urlencoded
000430 0D 0A 43 6F 6E 74 65 6E | 74 2D 4C 65 6E 67 74 68 ..Content-Length
000440 3A 20 35 35 35 0D 0A 0D | 0A 6B 69 6C 6C 6D 61 69 : 555....killmai
000450 6C 3D 32 30 30 39 2E 30 | 32 2E 31 37 2B 31 37 25 l=2009.02.17+17%
000460 33 41 33 33 25 30 44 25 | 30 41 25 30 44 25 30 41 3A33%0D%0A%0D%0A
000470 56 69 63 74 69 6D 25 33 | 41 2B 52 65 67 6E 61 72 Victim%3A+Regnar
000480 73 25 30 44 25 30 41 43 | 6F 72 70 25 33 41 2B 50 s%0D%0ACorp%3A+P
000490 6F 6C 69 73 68 2B 43 61 | 76 61 6C 72 79 25 30 44 olish+Cavalry%0D
000500 25 30 41 41 6C 6C 69 61 | 6E 63 65 25 33 41 2B 54 %0AAlliance%3A+T
000510 68 65 2B 42 6C 61 63 6B | 2B 49 73 6C 65 25 30 44 he+Black+Isle%0D
000520 25 30 41 46 61 63 74 69 | 6F 6E 25 33 41 2B 4E 4F %0AFaction%3A+NO
000530 4E 45 25 30 44 25 30 41 | 44 65 73 74 72 6F 79 65 NE%0D%0ADestroye
000540 64 25 33 41 2B 43 61 70 | 73 75 6C 65 25 30 44 25 d%3A+Capsule%0D%
000550 30 41 53 79 73 74 65 6D | 25 33 41 2B 42 57 46 2D 0ASystem%3A+BWF-
000560 5A 5A 25 30 44 25 30 41 | 53 65 63 75 72 69 74 79 ZZ%0D%0ASecurity
000570 25 33 41 2B 30 2E 30 25 | 30 44 25 30 41 44 61 6D %3A+0.0%0D%0ADam
000580 61 67 65 2B 54 61 6B 65 | 6E 25 33 41 2B 33 37 32 age+Taken%3A+372
000590 25 30 44 25 30 41 25 30 | 44 25 30 41 49 6E 76 6F %0D%0A%0D%0AInvo
000600 6C 76 65 64 2B 70 61 72 | 74 69 65 73 25 33 41 25 lved+parties%3A%
000610 30 44 25 30 41 25 30 44 | 25 30 41 4E 61 6D 65 25 0D%0A%0D%0AName%
000620 33 41 2B 47 72 65 61 74 | 2B 43 72 65 61 74 6F 72 3A+Great+Creator
000630 2B 25 32 38 6C 61 69 64 | 2B 74 68 65 2B 66 69 6E +%28laid+the+fin
000640 61 6C 2B 62 6C 6F 77 25 | 32 39 25 30 44 25 30 41 al+blow%29%0D%0A
000650 53 65 63 75 72 69 74 79 | 25 33 41 2B 30 2E 36 25 Security%3A+0.6%
000660 30 44 25 30 41 43 6F 72 | 70 25 33 41 2B 54 68 65 0D%0ACorp%3A+The
000670 2B 42 6C 61 63 6B 2B 53 | 63 6F 72 70 69 6F 6E 73 +Black+Scorpions
000680 25 30 44 25 30 41 41 6C | 6C 69 61 6E 63 65 25 33 %0D%0AAlliance%3
000690 41 2B 4E 6F 6E 65 25 30 | 44 25 30 41 46 61 63 74 A+None%0D%0AFact
000700 69 6F 6E 25 33 41 2B 4E | 4F 4E 45 25 30 44 25 30 ion%3A+NONE%0D%0
000710 41 53 68 69 70 25 33 41 | 2B 48 75 67 69 6E 6E 25 AShip%3A+Huginn%
000720 30 44 25 30 41 57 65 61 | 70 6F 6E 25 33 41 2B 44 0D%0AWeapon%3A+D
000730 75 61 6C 2B 31 38 30 6D | 6D 2B 41 75 74 6F 43 61 ual+180mm+AutoCa
000740 6E 6E 6F 6E 2B 49 49 25 | 30 44 25 30 41 44 61 6D nnon+II%0D%0ADam
000750 61 67 65 2B 44 6F 6E 65 | 25 33 41 2B 33 37 32 25 age+Done%3A+372%
000760 30 44 25 30 41 25 30 44 | 25 30 41 26 70 61 73 73 0D%0A%0D%0A&pass
000770 77 6F 72 64 3D 74 65 73 | 74 70 61 73 73 77 6F 72 word=testpasswor
000780 64 26 73 75 62 6D 69 74 | 3D 50 72 6F 63 65 73 73 d&submit=Process
000790 2B 25 32 31 +%21
Разбор заголовка запроса
Запрос у нас на руках, теперь разбираем на состовляющие:
Главная информация из заголовка:
адрес сайта: www.eve-tbs.ru
путь к скрипту отправки: /kb/?a=post
реферер: мы сами
Content-Type: application/x-www-form-urlencoded
и обязательно естественно: Content-Length.
Второстепенные данные плана: User-Agent, Accept, Accept-Language, Cookie и т.п. можно не учитывать
Из главных параметров заголовка мы можем сформировать вид запроса:
host=www.eve-tbs.ru/kb/?a=post
header=Referer=www.eve-tbs.ru/kb/?a=post|Content-Type: application/x-www-form-urlencoded|Content-Length: %mail_len%|
Обратите внимание что в шаблоне заголовка обязательно должно присутствовать поле Content-Length и переменная %mail_len%, указывающая собственно размер тела письма.
Остальные переменные можете добавлять по желанию.
Разбор формата запроса
Сразу после текста Content-Length: 555, означающего размер отправляемого киллмыла и служебной информации, идет непосредственно сам запрос в том формате, в каком его понимает киллборда.
Если обозначить содержимое киллмыла переменной X и значение пароля переменной Y, то можно представить весь текст, идущий после "Content-Length: 555" в виде следующей строки:
killmail=X&password=Y&submit=Process+%21
Собственно это практически и есть значение четвертой обязательной переменной шаблона в секции MAIN, под названием template, единственное но:
переменная под тело письма уже зарезервированна программой и имеет название %killmail%. Поэтому переменная template будет иметь следующий вид:
template=killmail=%killmail%&password=testpassword&submit=Process+%21
А полный вид секции будет примерно таким:
[main]
description=Тестовый шаблон
host=www.eve-tbs.ru/kb/?a=post
header=Referer=www.eve-tbs.ru/kb/?a=post|Content-Type: application/x-www-form-urlencoded|Content-Length: %mail_len%|
template=killmail=%killmail%&password=testpassword&submit=Process+%21
В таком виде, данный шаблон является полностью настроенным, т.к. не содержит никаких внешних переменных, за исключением зарезервированных, и в принципе готов к использования, после соответствующей настройки секции STATUS