- Milyen billentyűzetet vegyek?
- Vezetékes FEJhallgatók
- Fejhallgató erősítő és DAC topik
- Mini-ITX
- Micro Four Thirds
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- 3D nyomtatás
- A Micron újszerű módszerrel javítja QLC-s SSD-jének sebességét
- Otthoni időjárás-állomás
-
PROHARDVER!
Új hozzászólás Aktív témák
-
Jim-Y
veterán
válasz
moli.hu #7982 üzenetére
--biztonsagos? nem csinaltam marhasagot?
ehhez nem értek sajnos, annyit tudok, hogy a napokban néztem egy nodejs biztonságával foglalkozó slideshow-t speakerdeck-en, de nem sikerült megkeresnem múltkor neked :/ De vannak erre külön npm modulok. Esetleg nézz utána azoknak is.
--az async jol van irva, nem elozi be valamelyik sor amit nem kene?
szerintem ez igy, ebben a formában nem értelmes.
--stilusos, igy kell-e kodolni nodejs-t?
erre válaszoltam
--a timeoutok jo helyre vannak irva? (20 process, 10 transfer, 30 egyutt)
szerintem nem kéne bele egyáltalán timeout
--a "httpd stopped" szoveg miert nem jon soha?
mert a close eseményre kötöttél egy listenert, de soha nem zár le a kapcsolat. Mármint, ha pl a konzolban kilövöd a szervert akkor azért nem látszódik mert mikor kiirná addigra már "nincs hova", manuálisan pedig nem zárod le a szervert sehol.
--ugy olvastam, hogy az encoding binary deprecated, ezert mar bufferrel csinaltam meg a crypto-reszt, de mikor az exec-bol atadom a response-nak, azt a reszt hogy lehet atirni?
Ezt miért irtad bele a kódba? Jól gondolom, hogy csak egy unique id-t akartál csinálni? Azt biztos lehet egyszerűbben is.
-
Jim-Y
veterán
válasz
moli.hu #7980 üzenetére
Szia. Nem másoltam le egy az egyben amit te irtál, de próbáltam egy cleaner kódot irni, mert a tiéddel az a baj, hogy nagyon spagetti. A callbackeket egymásba ágyaztad ami nem szerencsés, mert gyorsan átláthatatlan lesz a kód. Nézd meg ezt helyette:
Valahogy igy kéne irni.
-
moli.hu
őstag
válasz
moli.hu #7979 üzenetére
Megirtam az elso nodejs kodomat, kerem, aki ert hozza, nezze at, hogy
--biztonsagos? nem csinaltam marhasagot?
--az async jol van irva, nem elozi be valamelyik sor amit nem kene?
--stilusos, igy kell-e kodolni nodejs-t?
--a timeoutok jo helyre vannak irva? (20 process, 10 transfer, 30 egyutt)
--a "httpd stopped" szoveg miert nem jon soha?http_createserver = require("http").createServer;
crypto_randombytes = require("crypto").pseudoRandomBytes;
url_parse = require("url").parse;
child_process_exec = require("child_process").exec;
os_hostname = require("os").hostname;
console.info (new Date().toISOString() + "\thttpd started");
var server = http_createserver (
function (IncomingMessage, ServerResponse) {
crypto_randombytes (16,
function (exception, buffer) {
if (exception) throw exception;
uniqueid = buffer.toString ("hex");
console.info (uniqueid + "\tdate: " + new Date().toISOString());
console.info (uniqueid + "\tremoteaddr: " + IncomingMessage.connection.remoteAddress);
ServerResponse.on ("close",
function () {
console.info (uniqueid + "\taborted");
}
);
ServerResponse.on ("finish",
function () {
console.info (uniqueid + "\tsent");
}
);
var querystring = url_parse(IncomingMessage.url, true).query;
if ("secret" && querystring.auth != "secret") {
ServerResponse.writeHead (404);
ServerResponse.end ();
console.info (uniqueid + "\tnoauth: " + IncomingMessage.url);
} else {
label = uniqueid + "\tgenerated";
if (querystring.hostname) console.info (uniqueid + "\thostname: " + querystring.hostname);
console.time (label);
child_process_exec ("rrd.sh graph '" + (querystring.hostname ? querystring.hostname : "") + "'", { encoding: "binary", maxBuffer: 10000000, timeout: 20000 },
function (error, stdout, stderr) {
console.timeEnd (label);
if (error !== null) {
ServerResponse.writeHead (500);
ServerResponse.end (error + stderr);
console.info (uniqueid + "\tnoexec: " + error.toString().replace (/[\r\n\t]+/gm, " "));
} else {
ServerResponse.setTimeout (10000);
ServerResponse.writeHead (200, { "content-type": "image/png", "content-length": stdout.length, "content-disposition": "inline; filename=\"" + (querystring.hostname ? querystring.hostname : os_hostname ()) + ".png\"" } );
ServerResponse.end (stdout, "binary");
console.info (uniqueid + "\tlength: " + stdout.length);
}
}
);
}
}
);
}
).listen (8000);
server.setTimeout (30000);
server.on ("close",
function () {
console.info (new Date().toISOString() + "\thttpd stopped");
}
);--ha nem irnek az elejere kulon sorba require-t, hanem a require-ket bele irnam a kod kozepebe, akkor az at jelentene, hogy ahanyszor odaer a kod, behuz egy ujabb instance-t a library-bol?
--a http 404 helyett tudok valahogy manualis timeout-ra futtatast csinalni vagy valami olyan valaszt szimulalni, mintha nem lenne ott a szerver?
--ugy olvastam, hogy az encoding binary deprecated, ezert mar bufferrel csinaltam meg a crypto-reszt, de mikor az exec-bol atadom a response-nak, azt a reszt hogy lehet atirni? -
bambano
titán
válasz
moli.hu #7958 üzenetére
töltsd fel valami tármegosztóra vagy küldd el emailben.
parasztosabb megoldás: screen-ben irc kliens, és dccszerk: lehet az gtalk vagy jabber is.
szerk2: IP over postagalamb -
Sk8erPeter
nagyúr
válasz
moli.hu #7970 üzenetére
"egy hintet adok: a multkori statusz-ertesitos kerdest, amire peldaul az snmp-t es egyeb ugyes otletek jottek, vegul twitterrel oldottam meg, jol mukodik."
Úristen.Te aztán szereted agyonbonyolítani a dolgokat. Ennek a feladatnak aztán nagyon sok köze van a Twitterhez... Na sebaj.
Igazából az a baj, hogy az jön le, hogy tanácsot kérsz, hogy aztán pont a javasolt megoldásokat jó nagy ívben elkerüld (lásd az itt írt "jo ez az snmp, egy ujabb protokol, amit idovel beirhatok a cv-mbe es nem fog erdekelni senkit" megjegyzésedet, meg úgy általában a reakcióid stílusát, az elzárkózást a szélesebb látókörű megoldásoktól), ez meg így nem hiszem, hogy túl motiváló a neked való tanácsadásra.OFF, de igazán megtisztelhetnéd a fórumot (és saját magadat) azzal, hogy a mondataidat nagy kezdőbetűvel írod, nagyon idegesítő, hogy úgy néznek ki a hsz.-eid, mintha valami csetes ömlesztett hányadékok lennének.
Köszi.
-
Karma
félisten
válasz
moli.hu #7970 üzenetére
Valamiért úgy emlékeztem, hogy nem volt interneted a múltkori feladatnál, a megoldást meg nem olvastam, no mindegy.
Twitterre is tudsz képeket feltölteni API-val.
Sőt, akkor már hadd ajánljam a PushBulletet (újfenn? déjavu érzésem van), amivel a képeket tudod böngészőben, iOS-en és Androidon push-sal fogadni. A beküldő API pofonegyszerű.
A heartbleed tényleg nagyon ronda történet volt, de ez nem lazít semmit azon, hogy a házi megoldás szinte teljesen biztos, hogy rosszabb minőségű lesz végeredményben. Épp csak senki nem fogja specifikusan támadni.
Kriptográfiánál jön ez ki igazán.
-
Karma
félisten
válasz
moli.hu #7966 üzenetére
Az "ilyen kis projekthez túl bonyolult lenne démont használni" elv jegyében a kvantum teleportációt is kikutathatnád.
Kicsit komolyabbra fordítva a szót, nagyon súlyos hibát követsz el ezzel a történettel. Egy ilyen házi hack, még ha írsz is valamilyen dokumentumot mellé, nehezen éri el a meglévő démonok érettségét. Egy jobb érzésű IT felelős biztosan nem állítana ilyen kritériumokat...
Támadt viszont egy ötleten, amire lehetne építkezni: az ICMP protokoll. Sőt ezt más már kidolgozta korábban, hogy hogyan lehet pingnek álcázva adatot csempészni.
-
martonx
veterán
válasz
moli.hu #7966 üzenetére
Na ha a hangszórós ötlet tetszett, és ezek szerint a két gép halló-, látótávolságon belül van, mi lenne ha vennél egy USB füstgenerátort.
A morze jelekké kódolt adatot pedig füstjelekké alakítanád? Ekkor már csak annyi a feladat, hogy a másik gép webkamerája (nem írtad, hogy van-e ilyenje, de filléres beszerezni egyet) veszi a füst jeleket, és azokból visszafejted az adatot.
De akár csak villogtathatsz egy nagy reflektort is, vagy talán legegyszerűbb, ha a két gép kezelője átkiabál / átrádióz / áttelefonál a másiknak. -
Karma
félisten
válasz
moli.hu #7960 üzenetére
Az A gépen veszed a képfájlt, BASE64 kódolod, majd Morse kódot generálsz belőle, amit hangszórókon bömböltetsz, a B gépen felveszed, dekódolod kétszer és megjeleníted. De a layer 8 megoldások is működhetnek: a titkárnő lemásolja és 1,44-es floppyn átviszi a másikra. A telepátia is jó...
Azért annyi engedményt adsz, hogy elárulod, milyen démonok futnak jelenleg a gépeken? Hátha van valami, amin át lehetne szivárogtatni az anyagot kreatívan felhasználva. Az SNMP például erre nem alkalmas.
-
Jim-Y
veterán
válasz
moli.hu #7958 üzenetére
Lehet rosszul ertem, de arra kene otlet, hogy A geprol milyen alternativ modokon lehet pl egy kepfajlt atvinni egy B gepre?
Egy lehetseges otlet, bar biztos hogy nem ez lesz a jo neked:
netcat szerintem tuti van alapbol a debianon, igy:
B gep:
nc -l localhost 1234 > jim.jpgA gep:
cat Pictures/jim.jpg | nc localhost 1234 -
bambano
titán
válasz
moli.hu #7917 üzenetére
kicsit javíthatna a tanácsokon, ha elárulnád az oprendszert, esetleg a programozási környezetet...
debianon shell-ben az snmp 5 perc konfig, meg egy-egy utasítás. beállítod rendesen az snmp trapokat fogadó démont, utána snmptrap paranccsori utasítással tudsz trapet küldeni. a fogadó oldalon meg megadod, hogy milyen shellscriptet futtasson, ha trap jött, és kész.
ha pl. jávázol, akkor jávában is lehet oprendszer parancsot forkolni, de van snmp4j csomag, amiben implementálva van minden, ami kell. a fogadó oldalon meg a shell elindít valami programot, ami a jávás alkalmazásodat jávás szabvány szerinti interfészen keresztül értesíti.
egyéb ötlet: postgres tud eseményeket figyelni, felraksz egy listen-t a szerver oldalon, kliens oldalról meg notify és kész. a többi adatbáziskezelő is biztos tud ilyet, csak azokat nem ismerem eléggé.
ircet nem javaslom, ahhoz mindennek működnie kell, irc szerver hálózatoknak split nélkül, és az odáig tartó internetes kapcsolatoknak is. akkor inkább twitter vagy valami xmpp alapú cucc (gtalk, jabber). ezek egy fokkal jobbak, mint irc szerverben bízni.
de akár emailt is küldhetsz, unix tud shell szkriptet indítani email érkezésre. ssh is jó, kulcsos authtal.
-
Karma
félisten
válasz
moli.hu #7914 üzenetére
Remélem érzékeled, hogy az SSH és az IRC szerver telepítés sokkal nagyobb kockázattal és következményekkel jár... Egyébként Java alatt a Netty nevű frameworkkel, Node.js-sel meg zsebből lehet olyan önjáró alkalmazást írni, ami HTTP-en meghívható, de elég messze van egy webszervertől.
Ha alacsonyabb szintre vágysz, az SNMP protokollal is van ilyesmjre lehetőség. Bár implementálja akinek két anyja van.
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- ASUS ROG Strix GeForce RTX 4070 Ti OC 12GB GDDR6X 192bit Videokártya
- RX570-es, RX580-as és RX5500XT eladó videó-kártyák - Garancia
- Canon EOS 1300D gép szettek, objektívekkel, kiegészítőkkel (1400 - 7900 expos gépek, újszerűek! )
- Macbook Air M2 8/256 100% akku
- Iphone 14 Pro fehér-ezüst 128GB nagyon szép
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- AKCIÓ! Apple Mac Studio M1 MAX 2022 32GB 512GB számítógép garanciával, hibátlan működéssel
- Samsung Galaxy S25 Ultra 1TB, Kártyafüggetlen, 1 Év Garanciával
- HATALMAS AKCIÓK! GARANCIA, SZÁMLA - Windows 10 11, Office 2016 2019 2021,2024, vírusírtók, VPN
- Csere-Beszámítás! RTX Gamer Számítógép PC Játékra! I5 12400F / RTX 3070 / 32GB DDR4 / 1TB SSD
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest