-
Üdv!
Nem rég kitaláltam egy igen hatékony módszert arra, hogy megvédd a játékmódod. (például ilyen esetben: http://sampforum.hu/index.php?topic=10891.0)
* A védelemhez legalább 0.3b verzió szükséges. (szerver és függvénykönyvtár)
* Amennyiben feltöltöd FTPre a forrástfájlt (.pwn) is, nem érsz semmit a védelemmel, hiszen el tudják távolítani!
* A védelmet a játékmódba kell írnod, hiszen ha filterscript, akkor ki tudják kapcsolni, vagy meg tudják akadályozni, hogy elinduljon..
Ezzel a védelemmel mikor elindul a játékmód, a szervered leellenõriz egy fájlt, (te adod meg linkjét, legyen olyan helyen, ahol csak te férsz hozzá) és ez alapján eldönti, hogy futhat a mód, vagy sem. Ha a válasz negatív, akkor autómatikusan leállítja a szerveredet.
Elsõ lépésként ágyazzuk be az a_http nevû függvénykönyvtárat. Ezt az #include <a_samp> alá írd:
[pawn]#include <a_http>[/pawn]
Az OnGameModeInit akkor fut le, mikor elindul a játékmód, ezért ilyenkor ellenõrizzük, hogy van-e jog futni:
[pawn]
print( \"[iHTTP Védelem]: Futtatási jog ellenõrzése...\" ); // Ez nem kötelezõ, ha szeretnéd, kihagyhatod.
if( !HTTP( 0, HTTP_GET, \"weboldalam.hu/samp/modom_futtatasi_joga.txt\", \"\", \"HTTPCheck\" ) )
print( \"Sikertelen HTTP lekérdezés. A szerver biztonsági okokból leáll.\" ), SendRconCommand( \"exit\" ); // Itt a tárhelyeden levõ fájl tartalmát próbáljuk kiolvasni. Ha nem sikerül, leállítjuk a szervert.
[/pawn]
Most ellenõrizzük a lekért információkat:
[pawn]
forward HTTPCheck( index, response_code, data[ ] );
public HTTPCheck( index, response_code, data[ ] )
{
if( index == 0 ) // Ellenõrizzük, hogy a HTTP lekérdezés azonosítója egyezik-e.
{
if( response_code != 200 ) return printf( \"2. Lekérdezés sikertelen! Hibakód: %i\\nBiztonsági okokból a szerver leáll.\", response_code ), SendRconCommand( \"exit\" ); // Ha a válaszkód nem 200, akkor nem sikerült a lekérdezés, ezért biztonsági okokból leállítjuk a szervert.
if( !strcmp( data, \"true\", true ) ) print(\" [iHTTP Védelem]: Futtatási jog megszerezve.\" ); // Ellenõrizzük az információt. Ha egyezik azzal, amit megadtunk korábban, megadjuk a jogot.
else print( \"[iHTTP Védelem]: Futtatási jog elutasítva, kérlek lépj kapcsolatba vele: NEVED.\" ), SendRconCommand( \"exit\" ); // Ha nem egyezik azzal, amivel engedélyezzük, tájékoztatjuk az \"olvasót\" és leállítjuk a szervert.
}
return 1;
}
[/pawn]
Ennyi lenne. :)
Amit pirossal írtam, át tudod/kell írni/írnod.
weboldalam.hu/samp/modom_futtatasi_joga.txt - Az ellenõrzendõ fájl elérési útvonala.
true - A fájl tartalma akkor, ha futhat a szerver.
NEVED - Na, ez vajon mi lehet? :)
Korábban teszteltem egy móddal, nekem tökéletesen mûködött. Várom a véleményeket, észrevételeket. :)
(remélem nem hagytam ki semmit)
-
Ez nagyon jó ötlet Iceaac, grat!
-
Huh ez nagyon bejön! :D
Köszi, hogy megosztottad ! ;)
-
Ez pont jól jött! Kösz!
De öm egy kérdés:
\"weboldalam.hu/samp/modom_futtatasi_joga.txt\"
Ide az oldalamra feltöltök egy txt-t és abba mi kell hogy legyen?
-
Frankó lett Iceaac. Gratulálok, szép munka.
-
Mûködik, kössz Iceaac, szép munka :)
-
Ugyan igy csináltam és nem jó leáll a szerver feltöltöttem az atw-s weboldalomra a txt-t és akor is leáll nem tudom miért valaki segitsen!
Itt a log:
[17:14:25] Number of vehicle models: 16
[17:14:27] 2. Lekérdezés sikertelen! Hibakód: 1
Biztonsági okokból a szerver leáll.
[17:14:27] --- Server Shutting Down.
-
Ez pont jól jött! Kösz!
De öm egy kérdés:
\"weboldalam.hu/samp/modom_futtatasi_joga.txt\"
Ide az oldalamra feltöltök egy txt-t és abba mi kell hogy legyen?
if (!strcmp(data, \"true\", true))
Itt a középsõ paraméter, azaz \"true\". Ennek kell lenni a tartalmának, idézõjelek nélkül, persze átírhatod másra is, de akkor itt is át kell írni. Példa:
Ez van a szkriptben:
if (!strcmp(data, \"ez a szöveg\", true))
Ez a fájlban:
ez a szöveg
Ugyan igy csináltam és nem jó leáll a szerver feltöltöttem az atw-s weboldalomra a txt-t és akor is leáll nem tudom miért valaki segitsen!
Itt a log:
[17:14:25] Number of vehicle models: 16
[17:14:27] 2. Lekérdezés sikertelen! Hibakód: 1
Biztonsági okokból a szerver leáll.
[17:14:27] --- Server Shutting Down.
[/quote]
Valószínûleg nincs jog olvasni a fájlt. Ezt FTPn tudod beállítani. Total Commanderben kijelölöd -> Fájl -> Attribútumok módosítása...
Ha nem válik be, próbálj regisztrálni egy oldalt itt: http://okhost.eu/
Én itt teszteltem, nekem mûködött. :)
---
Ez nagyon jó ötlet Iceaac, grat!
[/quote]
Huh ez nagyon bejön! :D
Köszi, hogy megosztottad ! ;)
[/quote]
Ez pont jól jött! Kösz!
[/quote]
Thx. :)
-
Ez pont jól jött! Kösz!
De öm egy kérdés:
\"weboldalam.hu/samp/modom_futtatasi_joga.txt\"
Ide az oldalamra feltöltök egy txt-t és abba mi kell hogy legyen?
if (!strcmp(data, \"true\", true))
Itt a középsõ paraméter, azaz \"true\". Ennek kell lenni a tartalmának, idézõjelek nélkül, persze átírhatod másra is, de akkor itt is át kell írni. Példa:
Ez van a szkriptben:
if (!strcmp(data, \"ez a szöveg\", true))
Ez a fájlban:
ez a szöveg
Ugyan igy csináltam és nem jó leáll a szerver feltöltöttem az atw-s weboldalomra a txt-t és akor is leáll nem tudom miért valaki segitsen!
Itt a log:
[17:14:25] Number of vehicle models: 16
[17:14:27] 2. Lekérdezés sikertelen! Hibakód: 1
Biztonsági okokból a szerver leáll.
[17:14:27] --- Server Shutting Down.
[/quote]
Valószínûleg nincs jog olvasni a fájlt. Ezt FTPn tudod beállítani. Total Commanderben kijelölöd -> Fájl -> Attribútumok módosítása...
Ha nem válik be, próbálj regisztrálni egy oldalt itt: http://okhost.eu/
Én itt teszteltem, nekem mûködött. :)
---
Ez nagyon jó ötlet Iceaac, grat!
[/quote]
Huh ez nagyon bejön! :D
Köszi, hogy megosztottad ! ;)
[/quote]
Ez pont jól jött! Kösz!
[/quote]
Thx. :)
[/quote]
Pont ugy csináltam és most azon az okhoston regiztem ftpn beálitotttam olvasás ot és elinditom megin hibakódot ir ki
UI: ezt irja az olvasásnál ha bepipálom ftpn :
\"Nem cserélhetö a távoli fálj attributuma!\"
-
Nekem a fájlnak alul, balra az OK, Mégse és Súgó gombtól van egy beviteli mezõ, ott a szám 644. Próbáld meg ezt átírni.
-
Nekem is 644 en van és ha le okézom akormegin kiirja:
\"Nem cserélhetö a távoli fálj attributuma!\"
-
Köszönöm, hasznos kis Tutorial.
-
Nekem is 644 en van és ha le okézom akormegin kiirja:
\"Nem cserélhetö a távoli fálj attributuma!\"
Akkor lehet, hogy a szerverednek nincs joga? :dodge: Más ötletem nincs.
Köszönöm, hasznos kis Tutorial.
[/quote]Nm, köszi. :)
-
Nekem is 644 en van és ha le okézom akormegin kiirja:
\"Nem cserélhetö a távoli fálj attributuma!\"
Melyik tárhely?
Hasznos leírás!
Én ezt úgy oldottam meg, hogy a tárhelyen lévõ fájl php (akár lehetne .txt, de azt mindig manuálisan kellene frissíteni) fájl tartalmazza a verziószámot, és ha az az induláskor nem egyezik meg akkor üzenetet küld nekem és nem tölti be a játékmódot.
Kényelmetlennek hangzik, viszont nagyobb biztonságot nyújt és értesít, ha gond adódna. (minden szükséges adattal: ip,port,weboldal)
Miért kevésbé biztonságos Iceaac módszere?
Mert nem biztos, hogy értesülsz a lopásról. ( a verziószám pedig frissül, ha loptak, ha nem)
-
Ez egy nagyon hasznos módszer, kösz Iceaac, amint ráérek beépítem a módomba. :D
Mostmár nem fogok fosni ha ellopják a módom. (ami lehetetlen, mert anti deamxelt és csak amxet töltök tárhelyekre)
-
Ez egy nagyon hasznos módszer, kösz Iceaac, amint ráérek beépítem a módomba. :D
Mostmár nem fogok fosni ha ellopják a módom. (ami lehetetlen, mert anti deamxelt és csak amxet töltök tárhelyekre)
Nm. :) Nekem pár éve két módomat is ellopták. :mistrust: (nem elég, még most is lopkodják az ötleteimet)
-
Grat, nagyon jó és hasznos leírás. :)
Dobok egy PM-et. :D
-
Grat, nagyon jó és hasznos leírás. :)
Dobok egy PM-et. :D
Thx. :)
-
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(221) : error 029: invalid expression, assumed zero
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(221) : error 017: undefined symbol \"HTTPCheck\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(223) : error 029: invalid expression, assumed zero
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(223) : error 017: undefined symbol \"HTTPCheck\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(225) : error 017: undefined symbol \"index\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(227) : error 017: undefined symbol \"response_code\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(227) : error 017: undefined symbol \"response_code\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(228) : error 017: undefined symbol \"data\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(238) : warning 225: unreachable code
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
8 Errors.
??????
-
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(221) : error 029: invalid expression, assumed zero
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(221) : error 017: undefined symbol \"HTTPCheck\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(223) : error 029: invalid expression, assumed zero
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(223) : error 017: undefined symbol \"HTTPCheck\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(225) : error 017: undefined symbol \"index\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(227) : error 017: undefined symbol \"response_code\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(227) : error 017: undefined symbol \"response_code\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(228) : error 017: undefined symbol \"data\"
D:\\SAMP SajtosCroissan Szerver\\szerver\\gamemodes\\sajt.pwn(238) : warning 225: unreachable code
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
8 Errors.
??????
Valamit rosszul másoltál be, nekem:
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
:)
-
Ez télleg jó ötlet mivel manapság a hostingosok 45%-a csaló! :D
-
\" post=\"123665\" timestamp=\"1300822732\"]
Ez télleg jó ötlet mivel manapság a hostingosok 45%-a csaló! :D
[/quote]Thx.
-
Jó kis leírás, grat! ;)
-
Nálam jól mûködik(bár még nem teszteltem, hogy mi van ha nem tudja lekérni)
Kösz:D :angel:
-
BUMP. :D
Nekem is 644 en van és ha le okézom akormegin kiirja:
\"Nem cserélhetö a távoli fálj attributuma!\"
Melyik tárhely?
Hasznos leírás!
Én ezt úgy oldottam meg, hogy a tárhelyen lévõ fájl php (akár lehetne .txt, de azt mindig manuálisan kellene frissíteni) fájl tartalmazza a verziószámot, és ha az az induláskor nem egyezik meg akkor üzenetet küld nekem és nem tölti be a játékmódot.
Kényelmetlennek hangzik, viszont nagyobb biztonságot nyújt és értesít, ha gond adódna. (minden szükséges adattal: ip,port,weboldal)
Miért kevésbé biztonságos Iceaac módszere?
Mert nem biztos, hogy értesülsz a lopásról. ( a verziószám pedig frissül, ha loptak, ha nem)
[/quote]
Igaz, hogy nem értesülök róla, de nincs sok értelme, hiszen így lehetetlen használni. :) Ha kombináljuk Anti DeAMX-el, akkor végképp.
-
CRY rpgben is hasonlo volt.... de nem ugyanez de szerintem az ötlet onnan jött am grat szép leirás
-
ezzel csak annyi a gond, hogy lelopják az amx-et, netstattal megnézik hogy milyen oldalt kérsz le, hosts file-al átirányítják a dns-t a saját szerverükre ahol létrehozzák a fájlt, és örökké menni fog a script :) esetleg annyival lehetne megnehezíteni ezt, hogy domain helyett fix IP-t adsz meg az ellenõrzésnél. és persze antideamx.
Ebben van valami...
De ha fix ip-t adunk meg, sokat az sem segít...
Esetleg azt lehetne, hogy a webes fájlba beleírjuk a szerver ip-jét, és akkor csak annak engedélyezi a hozzáférést.
(+ minden szerverindítás után, megváltozik autómatikusan a kód, és mondjuk elküldi mailben :D)
-
Jó lett iceaac!De egy hiba:
Ha valakinek nincs meg az indítási jog,megnézi gmben az elérési útvonalat \"weboldalam.hu/samp/modom_futtatasi_joga.txt\" beírja böngészõbe,és leszedi! ;) :)
-
Jó lett iceaac!De egy hiba:
Ha valakinek nincs meg az indítási jog,megnézi gmben az elérési útvonalat \"weboldalam.hu/samp/modom_futtatasi_joga.txt\" beírja böngészõbe,és leszedi! ;) :)
Olvasd el újra. Nyilván nem ér semmit a védelem, ha kiadod a pwn-t. :D
CRY rpgben is hasonlo volt.... de nem ugyanez de szerintem az ötlet onnan jött am grat szép leirás
[/quote]Soha nem néztem még bele olyan szemét mód forrásába, egyébként nem hinném.
ezzel csak annyi a gond, hogy lelopják az amx-et, netstattal megnézik hogy milyen oldalt kérsz le, hosts file-al átirányítják a dns-t a saját szerverükre ahol létrehozzák a fájlt, és örökké menni fog a script :) esetleg annyival lehetne megnehezíteni ezt, hogy domain helyett fix IP-t adsz meg az ellenõrzésnél. és persze antideamx.
[/quote]Aki ehez ért, nem 10 éves ellopomamódodbibibí. :)
-
Ez mind szép és jó de ismerek egy olyan módszert amivel az AMX et PWN re vissza fordítja DEAMX a neve
tess itt van
http://www.mediafire.com/?jmhqnzytezm
-
Ez mind szép és jó de ismerek egy olyan módszert amivel az AMX et PWN re vissza fordítja DEAMX a neve
tess itt van
http://www.mediafire.com/?jmhqnzytezm
Cöhh ezt berakjuk a módba és már nem is tudja átfordítani:
[pawn]WasteDeAMXersTime()
{
new b;
#emit load.pri b
#emit stor.pri b
}[/pawn]
Berakjuk valahová, például OnPlayerConnecthez vagy OnGameModeInit-be és kász is! :)
Vagy!
[pawn]AntiDeAMX()
{
new a[][] =
{
\"Unarmed (Fist)\",
\"Brass K\"
};
#pragma unused a
}[/pawn]
-
Kicsit el**sztam a módom mert beágyaztam az ANTI deamx et is teli vagyok hibával xd
e: kijavítottam de shoutdown ol a szeró pedig mindent megadtam az elérési útvonalat is meg mindent plussz a pluginok nem töltenek be .
-
Bigbump.
Ha úgy ágyaztad be, mint ahogy Drake-nél van akkor biztos, vagy hasonló globális változót használsz.
new szString[ ][ ] =
{
\"Unarmed (Fist)\",
\"Brass K\"
};
#pragma unused szString
Ha #emit iránnyelvelve van akkor lehetséges a format() funkció miatt, de leginkább a globális változó.
new iIndex = 0;
#emit load.pri iIndex
#emit stor.pri iIndex
-
Hali, Miõl lehet az, hogyha így adom meg az élérést:
\"ftp://[email protected]/omg.txt\"
Akkor mindig jó a leellenõrzés, akkor is ha rossz adat van a fileba..
ha pedig így
\"[email protected]/omg.txt\"
Akkor pedig mindig rossz.
-
Hy! Ezt hogy kell használni atw hostingnál?
-
grat!
de a .txt fájlt nem tudják eltávolítani az FTPrõl? :angry: :angry: :hihi:
-
grat!
de a .txt fájlt nem tudják eltávolítani az FTPrõl? :angry: :angry: :hihi:
Jó ,hogy nem egy 2010-es témát bumplosz meg..
Üdv. Nocoxil™
-
grat!
de a .txt fájlt nem tudják eltávolítani az FTPrõl? :angry: :angry: :hihi:
Ha megvan az FTP eléréséhez szükséges jelszó, akkor el tudják távolítani.
[/quote]Nem a szerver FTPjére feltöltendõ a fájl, butuskám. :hihi:
-
Hasznos :)