SSH-hoz példa:
alias d='/my/scripts/mydns_client.rb'
ssh `d ?mymachine`
- log69 blogja
- A hozzászóláshoz be kell jelentkezni
- 949 megtekintés
Hozzászólások
A flood limitacional vedd figyelembe, hogy ha a db.size > 255 akkor pont a frissen hozzaadott rekordot vagod le.
Inkabb:
if db.size > 255
db.unshift
db.unshift
end
Es igy a legregebbi rekord vesz el.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Jogos az észrevétel, javítottam (inkább így: db = db[2..max+1]).
Köszi.
- A hozzászóláshoz be kell jelentkezni
Visszavonom. Az eredeti megoldásom a jó, mert így a régi címek megmaradnak, hiába kezdi el etetni újakkal egy támadó kliens.
A régi elsőre feltöltött N darab maradjon meg.
- A hozzászóláshoz be kell jelentkezni
Amugy miert nem hash-ben tarolod oket, miert ez az elshiftelt tombos moka? Marmint, vicces meg minden, de az ilyen adatszerkezeteket hash-ben szokas tarolni, ahol a kulcs a gepnev, az ertek meg az IP cim. Kesobbiekben ki lehet boviteni az ilyet redissel v mongodb-vel is, h perzisztens legyen.
A tamadas elleni vedekezeshez hasznalj valami token-alapu rendszert, ahol minden gepnevhez tartozik egy token.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Mi a vicces pontosan?
Hash nem kell, mert így a jelenlegi megoldásomban a tömböt bármennyi dimenziósra tudom alakítani. Pl. ha bevezetnék felhasználó nevet (erre még hajlandó lennék), tehát nem csak gépnév / ip adatot tárolna, hanem felhnév / gépnév / ip, így ha több admin használná ezt a szolgáltatást, akkor kizárhatnánk az ugyanolyan nevű gépek összeakadását. De az amúgy is kiiktatható, ha pl. egy azonosítót teszünk a névbe, pl: myuser.far.far.away.machine. A tömb általánosabb és több lehetőséget hagy jövőbeni irányoknak. De persze sok fajta képen meg lehet csinálni.
A shift-elést te írtad és javasoltad a fenti kommentedben, nem én használtam.
Kizárt hogy bármilyen DB megoldáshoz nyúljak ezért. Szépen fusson csak memóriában és köpködje az adatokat onnét. Had dolgozzon a kicsike.. ;)
Nem akarok azonosítani token használatával gépet. A célom a minél egyszerűbb felépítés, minél kevesebb kódsorral. Gondolom érted miért.
Nekem nem tetszenek az olyan megoldások, amelyeket agyon fejlesztenek. Legalábbis az ultra egyszerű megoldások hiánya zavar. mert bonyolult mindig is volt és lesz (és érthető az igény rájuk), de a faék az nem annyira jellemző. Ezt látom legalábbis az eszközöknél. Ennek szellemében szívesen veszek bármilyen javaslatot.
- A hozzászóláshoz be kell jelentkezni
"A shift-elést te írtad és javasoltad a fenti kommentedben, nem én használtam."
Osszekevered a shift, mint funkcionev, es a shifting, mint fogalom elnevezeset. A shifting gyakorlatilag eltolast jelent, pont azt, ami te csinalsz, a tombben a rekordok mindig egy adott eltolassal erhetoek el, tehat ha tudod, hogy egy rekord pl. 5 elembol all, akkor minden rekord 5-os eltolassal erheto el, azaz minden 5. tombelem egy uj rekordot jelent.
"Nem akarok azonosítani token használatával gépet. A célom a minél egyszerűbb felépítés, minél kevesebb kódsorral. Gondolom érted miért."
Szerintem ezt is felreertetted. A "token alapu azonositas" azt jelenti, hogy minden resztvevo gep az elso telepiteskor kap egy egyszeru (random) jelsort, mittudomen, a gep lspci-kimenetenek md5 hashe, es ez a kodsor azonositja a gepet, vagyis, amikor a gep elkuldi a nevet a szervernek, akkor mellerakja ezt az azonositot is (ezt hivjak tokennek) es a szerver megnezi, hogy ehhez a nevhez valoban ez a token tartozik-e, ha igen, akkor es csakis akkor updateli a cimet. Ennel egyszerubb azonositasi modszer nincs, a usernev-password is bonyolultabb.
"Kizárt hogy bármilyen DB megoldáshoz nyúljak ezért"
Nem feltetlen RDBMS-re gondoltam, de azert az nem az ordogtol valo, ha a szerverprogi leallitaskor lerakja az infoit egy JSON vagy mas fajlba, es indulaskor onnan felparsolja.
Nekem se lenne celom egy ilyen rendszernel az agyonbonyolitas, viszont en azert szeretek standard megoldasokat hasznalni (strukturalt adatokhoz hash, perzisztens adatok, stb), hogy ha valaki rajtam kivul is hasznosnak talalja a cuccomat, es hasznalni akarja, akkor ne azzal kelljen kezdenie, hogy felig ujrairja, mert valami elborult megoldast hasznalok. Raadasul 2-3 ev mulva mar a kutya nem fog emlekezni, hogy miert tunt jo otletnek tombben tarolni az egyebkent strukturalt adatokat, melyeket az osszes tobbi fejleszto hash-ben tarol.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
A hash bonyolít. De küldhetsz patch-et a has-re, és ha egyszerűbb, akkor szívesen változtatok.
A tokenra mondtam neked hogy a névbe is betehető további (akármennyi) azonosító. Nem tetszik az ötleted, mert feleslegesen jobban bonyolít mint amennyi hasznot hoz.
- A hozzászóláshoz be kell jelentkezni
Nekem is van egy kis ilyen kókányom, de annyira kókány, hogy nem rakom ki.
Az elv nálam az, hogy egy php-szkriptet hívogatok a gépemről, a szerveren pedig nézi, hogy "megfelelően" hívták-e meg. Ha igen, akkor az IP-címet kiírja egy fájlba. Egy cron-szkript meg percenként megnézi a fájlt, és cseréli a host-fájlban, ha szükséges. Az SSH meg csak erről a host-ról enged belépést.
- A hozzászóláshoz be kell jelentkezni
Nincs fájl művelet nálam ;)
- A hozzászóláshoz be kell jelentkezni
Mondom, hogy kókány, amit csináltam :)
- A hozzászóláshoz be kell jelentkezni
beszedes commit uzenetek... :)
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
0.0.1 verziónál ilyenre nem adunk.. ;)
- A hozzászóláshoz be kell jelentkezni