|
||
O : Dlaczego ktoś mógłby chcieć napisać własny skrypt współpracujący z programem RaidenFTPD? Z powodu wprowadzonego niedawno interface'u ask://, dzięki któremu możesz powiedzieć programowi RaidenFTPD "co ma zrobić", i tak dla przykładu można zabronić użytkownikowi zalogowania się, lub zabronić utworzenia katalogu, czy też zabronić załadowania na serwer pewnych plików. [SEKCJA1 : Zapytaj zewnętrzne programy czy mogą coś zrobić] 01.
dokonaj wyboru najlepszego dla Ciebie języka programowania, w naszym
przykładzie użyjemy PHP - onFilePreUpload : wykonywane zanim użytkownik dostanie zgodę na załadowanie pliku na serwer
- onFilePreDelete : wykonywane zanim użytkownik usunie plik - onFileDeleted: wykonywane zanim użytkownik usunie plik * użycie ask:// pozwoli Ci na wyświetlenie wiadomości do klienta ftp - onDelDir : wykonywane zanim użytkownik skasuje katalog - onPreCwd : wykonywane zanim nastąpi wydarzenie "zmiana katalogu" (Change Working Directory) - onFileUploaded : wykonywane zanim plik zostanie załadowany na serwer, * pierwsza linia pliku wynikowego w tym zdarzeniu zostanie zignorowana - onZipUploaded : wykonywane zanim plik skompresowany .zip zostanie załadowany na serwer, * pierwsza linia pliku wynikowego w tym zdarzeniu zostanie zignorowana 05. w tym
przykładzie ścieżka naszego skryptu php to c:\php-bin, a nazwa skryptu to 14. serwer sam nie wyczyści zawartości katalogu "Output" - musisz zrobić to sam. żeby pobrać dodatkowy interface SDK pytanie/odpowiedź (ask/reply), kliknij tutaj [SEKCJA2 : Zewnętrzne programy mówią serwerowi jakie komendy ma wykonać] 01. należy
używać wespół z procedurami z sekcji 1 aby uruchomić komendę dla bieżącego poziomu (konta) wstaw tą linię do pliku wynikowego (ale nie w pierwszej linijce) #command<new line> np.: #site undupe filename-a<new line> zauważ, że <new line> oznacza znak nowej linii \n, i nie powinien on być widoczny w zwykłym edytorze tekstowym uwaga : <new line> oznacza znak nowej linii \n, i nie powinien on być widoczny w zwykłym edytorze tekstowym uwaga : wykonywane będą zdarzenia niezagnieżdżone, takie, jak w przypadku kiedy wysłałbyś komendę #CWD /xxx na zdarzenie onPreCwd, zdarzenie onPreCwd nie zostanie wywołane ponownie Jeśli chcesz wykonać polecenie z poziomu "root", użyj następującego schematu #sudo command np.: #sudo site give john 1000 uwaga : nie możesz używać polecenia "sudo" żeby zmienić poziom użytkownika I to wszystko |
||
Copyright © RaidenFTPD TEAM , ALL RIGHTS RESERVED
REVISION 2.2 , 2002/06/08