IEwebDOOR - Info pro vývojáře


Zpět

Na vaši žádost zde uvádím některé informace, které vám usnadní tvorbu vašich vlastních klientů. Nebude to nic těžkého a tak půjdeme rovnou na věc.

Klient se přihlašuje k následující stránce:
http://www.soom.cz/projects/webdoor/enter.php?client=xxxxxxxxxx
kde xxxxxxxxxx je identifikační číslo klienta. Na této stránce je umístěn formulář s vlastnostmi name a id = "form_backdoor". Formulář je celým tělem stránky a obsahuje proto textová pole a checkboxy, k jejichž obsahům klient přistupuje.

Jednotlivé ovládací prvky formuláře

  • interval - type="text" name a id="interval" - Z obsahu tohoto pole klient přečte interval v jakém se má k serveru přihlašovat (obsahuje číselnou hodnotu udávající počet minut).
  • in_command - type="text" name a id="in_command" - Obsah tohoto textového pole čte klient za účelem získání příkazu, který má vykonat.
  • in_download - type="text" name a id="in_download" - V tomto ploli je umístěn název souboru, který se ukládá na klienta. Pokud pro klienta není žádný soubor připraven, zůstává obsah tohoto pole prázdný.
  • in_upload - type="text" name a id="in_upload" - Obsah tohoto pole čte klient, aby získal název souboru (včetně celé cesty), který má nahrát na server. Pokud není soubor na počítači nalezen, je potřeba obsah tohoto pole smazat, čímž informujeme server o této skutečnosti.
  • base64 - textarea name a id="base64" - Obsah této textové oblasti je naplněn zakódovaným obsahem souboru, který uploadujeme na klienta, přičemž použité kódování je Base64. Klient by tedy měl přečíst obsah této oblasti ve chvíli, kdy pole in_download obsahuje název nějakého souboru. Klient by měl soubor dešifrovat a uložit pod názvem udaným polem in_download a následně by měl obsah této oblasti vymazat. Textová oblast base64 plní ještě druhou funkci, kterou je upload souboru na server. V tomto případě klient zakóduje soubor a výsledný řetězec získaný kódováním vloží do této oblasti.
  • error - type="hidden" name a id="error" - Do tohoto textového pole může klient vložit jakýkoliv text, který bude následně zaslán e-mailem. Nejlépe se tohoto pole dá využít k zasílání zpráv o chybách nebo o výsledcích jednotlivých činností klienta.
  • in_hide - type="checkbox" name a id="in_hide" - Tento checkbox informuje klienta, zda se má příkaz vykonat ve skrytém režimu. V případě, že je tato volba zaškrtnuta vrací hodnotu 1.
  • in_wait - type="checkbox" name a id="in_wait" - Obsah checboxu sděluje klientu zda má počkat na dokončení příkazu. V tomto případě předává hodnotu 1.

Serverová část IEwebDOOR pracuje tak, že na základě identifikačního řetězce vyhledá v databázi informace, které jsou pro klienta připraveny a naplní jimi jednotlivá pole formuláře. Klient si jednotlivá pole přečte a zapíše případné hodnoty do některých z nich. Poté klient stiskne tlačítko submit, čímž celý formulář odešle. Server vymaže z databáze všechny údaje, které měl pro klienta připraveny a zapíše čas posledního přihlášení s ip adresou. Zkontroluje, zda má uživatel nastaveno zasílání upozornění a případně toto upozornění zašle. Pokud není prázdný obsah pole in_upload tak server odešle mailem soubor, získaný z oblasti base64 a přiřadí mu název z pole in_upload. Dále zjistí jestli je prázdné pole error a pokud ne, tak zašle uživateli zprávu s textem, který toto pole obsahuje.

Věřím, že nyní již je činnost IEwebDOOR popsána dostatečně a vy se tak můžete s chutí pustit do programování nových klientů. V případě potřeby rád zodpovím vaše dotazy týkající se vývoje nových klientů v této diskuzi.

.cCuMiNn.