- Samsung Galaxy S26 Ultra - fontossági sorrend
- Samsung Galaxy A52s 5G - jó S-tehetség
- Vivo X200 Pro - a kétszázát!
- Okosóra és okoskiegészítő topik
- Rég várt frissítést kap az Android tárcsázója
- Poco F8 Ultra – forrónaci
- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
- Apple Watch
- Nagy bemutatóra készül az Oppo
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Panhard
tag
-
nevemfel
senior tag
> Te a breaket a {}-os utasításblokkba tetted, ami ebben az esetben nem a case esetből ugrik ki, hanem a {}-al jelölt utasításblokkból. Tehát ráfut a következő case esetre.
Erre gyanakodtam en is, de gyakorlatilag nem igy mukodik. Csak egy kulon scope-ot kap.
Viszont egy probat mindenkepp meger.föccer: ha kozvetlen a break ele teszel egy logot, azt meg kiirja? (nincs-e esetleg valami elnyelt hiba)
Erre gyanakodtam en is, de gyakorlatilag nem igy mukodik. Csak egy kulon scope-ot kap.
Hmm, és tényleg. Firefoxon is jól fut a kód.
Akkor viszont nem tudom, mi lehet gond. Talán valami régi, inkompatibilis js futtatókörnyezet?
-
föccer
nagyúr
A Tarolos értéket már a kódon belül adom meg. Igen, a Száraz ágon üzenet még kijön konzolra, illetve a számított értékek is, tehát a case még lefut. Validatorral ellenőríztem szintaktikailag elvilen nincs vele gond

Egy céges szoftveren belül kell készíteni a kódot. A node/chrome ismerős, lehet hogy erre támaszkodik ez az eszköz amit kaptunk. (egy keretrendszert fejlesztettek, amiben sok kis külön-külön értékelő szkriptet már nekünk kell megcsinálni.
egy külső, add-on függvényt kaptunk, amivel külső adatokat tudunk a kapcsolódó űrlapokról levenni és simán returnnal adjuk vissza az űrlapnak a kiértékelés eredményét. Úgy működik, mint egy function. Csak kicsit combosabb, mert ez éppen 1200 soros.
üdv, föccer
-
Mr. Y
őstag
Köszönöm.
Működik, de nem egészen úgy, ahogyan én azt szeretném. Ugyanis jelenleg nálam 0-89-ig egyesével kiírva a számokat, vesszővel elválasztva jelenik meg a végeredmény. Én pedig csak egyetlen számot szerettem volna.
-
Mr. Y
őstag
-
CSorBA
őstag
-
martonx
veterán
Köszönöm szépen. Csak proposalokat láttam az issueban. Van egy-két 3rd party package ami elvileg megoldaná a problémám, de annyira vad vizekre nem akarok evezni.
TypeScripttől függetlenül véleményt szeretnék kérni:
Express query paramétereit szeretném ellenőrizni. (REST) Van egy adag ami kötelező, meg egy másik adag opcionális. A többire pedig nem vagyok kíváncsi.
Ha mindet egyesével ellenőrzöm hogy kapott-e értéket, el lett-e küldve egyáltalán, megfelelő típusú-e, megfelel-e minden paraméternek stb., majd errort dobálok ha nem, akkor egy elég undorítóan hosszú fájlom lesz.
Ezt ti hogyan szoktátok kezelni? Van több ötletem is:
-Hagyni a fenébe, viszont sok ellenőrzés ismételhető lenne máshol is.
-Classokat létrehozni típusonként, majd mindet az előző postom alapján példányosítani, így ellenőrizve lesznek
-Szintén classok, de csak statikus validáló függvénnyelExpresshez nem értek, de az MVC rendszerekben szokott előre kialakított szerver oldali validáció lennie out-of-the-box, azaz én a helyedben első körben utána olvasnék, hogy Expressben milyen szerver oldali validációs megoldások vannak alapból.
Ha pedig nincs benne, akkor ideje valami más MVC megoldás felé fordulni. -
Jim-Y
veterán
Köszönöm szépen. Csak proposalokat láttam az issueban. Van egy-két 3rd party package ami elvileg megoldaná a problémám, de annyira vad vizekre nem akarok evezni.
TypeScripttől függetlenül véleményt szeretnék kérni:
Express query paramétereit szeretném ellenőrizni. (REST) Van egy adag ami kötelező, meg egy másik adag opcionális. A többire pedig nem vagyok kíváncsi.
Ha mindet egyesével ellenőrzöm hogy kapott-e értéket, el lett-e küldve egyáltalán, megfelelő típusú-e, megfelel-e minden paraméternek stb., majd errort dobálok ha nem, akkor egy elég undorítóan hosszú fájlom lesz.
Ezt ti hogyan szoktátok kezelni? Van több ötletem is:
-Hagyni a fenébe, viszont sok ellenőrzés ismételhető lenne máshol is.
-Classokat létrehozni típusonként, majd mindet az előző postom alapján példányosítani, így ellenőrizve lesznek
-Szintén classok, de csak statikus validáló függvénnyelCsinalni egy middleware-t ami ellenorzi. Aztan a route definicioban megadhatod, hogy milyen parameterek manadatory-k es , hogy azoknak milyen a tipusa. Ha a mandatory parameterek tipusa nem jo akkor a middleware nem engedi tovabb a requestet hanem logol, meg HTTP 403.
Pszeudokod: (majd egy masik hsz-ben mert keson kezdtem el szerkeszteni, pill)
-
fordfairlane
veterán
Értem hogy sima js lesz belőle és a hasznos dolgok nagyrésze el is tűnik. Azt reméltem hogy van valami compiler paraméter amin átsiklottam ami automatikusan hozzátenné a típus ellenőrzéseket.
Lényegében akkor minden egyes class esetén típusellenőrzést ugyanúgy meg kell csinálni minttha vanilla js lenne, illetve ha felhasználom egy másikban, akkor példányosítani kell. Valahogy így mint lent. (tudom hogy rossz példa) Vagy van jobb megoldás?
class Name {
name:string
constructor(str:string) {
if (typeof str !== 'string') {
throw new TypeError()
}
this.name = str
}
}
class Age {
age:number
constructor(n:number) {
if (typeof n !== 'number') {
throw new TypeError()
}
this.age = n
}
}
class Person {
name:Name
age:Age
constructor(i:IPerson) {
this.name = new Name(i.str)
this.age = new Age(i.n)
}
}
interface IPerson {
str: string,
n: number
}
console.log(process.argv[2])
let bar:IPerson = JSON.parse(process.argv[2])
let foo = new Person(bar)
console.log(foo)Typescripthez nem értek, de az instanceof talán ebben az esetben is használható.
-
martonx
veterán
Értem hogy sima js lesz belőle és a hasznos dolgok nagyrésze el is tűnik. Azt reméltem hogy van valami compiler paraméter amin átsiklottam ami automatikusan hozzátenné a típus ellenőrzéseket.
Lényegében akkor minden egyes class esetén típusellenőrzést ugyanúgy meg kell csinálni minttha vanilla js lenne, illetve ha felhasználom egy másikban, akkor példányosítani kell. Valahogy így mint lent. (tudom hogy rossz példa) Vagy van jobb megoldás?
class Name {
name:string
constructor(str:string) {
if (typeof str !== 'string') {
throw new TypeError()
}
this.name = str
}
}
class Age {
age:number
constructor(n:number) {
if (typeof n !== 'number') {
throw new TypeError()
}
this.age = n
}
}
class Person {
name:Name
age:Age
constructor(i:IPerson) {
this.name = new Name(i.str)
this.age = new Age(i.n)
}
}
interface IPerson {
str: string,
n: number
}
console.log(process.argv[2])
let bar:IPerson = JSON.parse(process.argv[2])
let foo = new Person(bar)
console.log(foo)Amit belinkeltem thread-et ott mintha lettek volna workaround-ok, utólagos megoldások ezeknek a típusellenőrzéseknek a belegenerálására. Igen, ha neked tényleg ez kell, akkor valóban nincs más hátra, mint vanillajs-ként tekinteni a ts generált kimentére (mert hiszen az is).
-
martonx
veterán
Nézd, a typescript javascriptté fordul, ami nem típusos nyelv (szerk. mielőtt valaki a fejemet veszi, pontosítok: nem erősen típusos), így elvárni, hogy futás közben is úgy viselkedjen, mint szerkesztés közben a typescript, elég naív elképzelés. Mindenesetre itt vannak workaroundok erre: [link] (gugli legelső találata volt)
-
PumpkinSeed
addikt
-
martonx
veterán
Üdv! Úgy vettem észre szinte senki nem használ try/catch-et js-ben. Jól látom?
Az feltűnt hogy szinte az összes library kezeli valamilyen módon az errort, főleg callback függvényekben. Eddig nem volt rá szükségem, az elmúlt 24 órában viszont kétszer is találkoztam olyan esettel ahol máshogy nem tudtam megoldani a problémát.Miért ne használnának?
-
Aureal
őstag
Google első találtat, nem próbáltam ki. Az biztos hogy lehet

fs.open('file.txt', 'r', function(err, fd) {
if (err)
throw err;
var buffer = new Buffer(1);
while (true)
{
var num = fs.readSync(fd, buffer, 0, 1, null);
if (num === 0)
break;
console.log('byte read', buffer[0]);
}
});Akárhogy próbálom, nálam ez semmit sem csinál.

-
PumpkinSeed
addikt
Valószínűleg ez lesz.
(#6454) DNReNTi
3 diagramra nem paktálok le a sátánnal.
Illetve ti hogyan oldjátok meg a view részét a dolognak? Az elképzelésem: van eddig 3 all domain www.domain.com, api.domain.com, auth.domain.com. Erre akarunk húzni egy központosított front-endet, hogyan lehet ezt szépen megoldani? Nagy részben az api és auth képes api endpointokon kommunikálni, és a www rész pedig egy symfony ami szépen lassan lecserélődik az api.domain.com-ra amiből majd a front-end táplálkozik.
-
Aureal
őstag
-
DNReNTi
őstag
Üdv!
Megoldható valahogy angular esetén hogy minden egyes controller betöltéskor lefusson egy function anélkül hogy minden egyes controllerbe külön megírnám?
Elrejtett menüpontokat szeretnék megjeleníteni "ng-show"-val, ehhez pedig szükségem lenne egy API-ból nyert értékre.
Prodlémák:
-menüpontok az "ng-view"-n kívül esnek, így csak rootScope értékekkel tudom változtatni
-a login képernyő is egy controller, a menü szintén látszik így nem tehetem ".run"-ba, mivel csak a tényleges login után kap valós választ az API-tól.
(nem baj ha "hackelhető" és megjeleníthető a menüpont, a backend nem fogja kiszolgálni)Gondoltam factoryra, de az async $http kérés eredményét nem tudom visszaadni sync módon az "ng-show"-nak.
Szia,
Nem teljesen latom at a problemat, de nem e lehet megoldas, hogy a szukseges erteket a root controllerben definialnad, es azt hasznalnad fel a "gyerekekben"? Vagy ez az ertek valtozik minden controllerben? Akkor nincs mese, irni kell ra service-t, es azt hivni valami parameterrel, minden alkalommal. Lehet nem ertem.

-
Mr Dini
addikt
Adatokat szeretnék kinyerni egy HTML kódból, aki dinamikus és egy szerveren futó php rakja össze.
Pl időjárási adatokat szeretnék leszedetni és feldolgozni.
A többit meg már elmondtam. Lehet bármilyen a function, csak getPage('url');-lel lehessen meghívni és a DATA globális változóban adja vissza a html kódot. A kód nár működött xhr-rel, böngészőben, de a node -on nem akar menni a jóöreg xhr.
-
Jim-Y
veterán
mind.blown.
Nem tudom hogy lehetséges hogy ennyi idő után még csak most találkoztam ezzel. De tetszik hogy folyamatosan új és új dolgokkal tud meglepni ez a nyelv.angular.copy($scope.arr)szépen teszi a dolgát, köszönöm!JSON.parse(JSON.stringify($scope.arr))szintén egy megoldás, bár kevésbé szép
Amugy amit linkeltél jsfiddle példa, az mennyire komoly próbálkozás? Azért kérdem, mert szerintem lehetne ezt elegánsabban is csinálni, bár hozzáteszem, nem vagyok nagy angular guru. Mit akarsz elérni?

-
Jim-Y
veterán
mind.blown.
Nem tudom hogy lehetséges hogy ennyi idő után még csak most találkoztam ezzel. De tetszik hogy folyamatosan új és új dolgokkal tud meglepni ez a nyelv.angular.copy($scope.arr)szépen teszi a dolgát, köszönöm!JSON.parse(JSON.stringify($scope.arr))szintén egy megoldás, bár kevésbé szép
Igen, sajnos a tömb és objektum duplikálásra nincsenek szép megoldások. A stringify + parse módszer amit mutattál akkor lehet problémás ha körkörös hivatkozás van a struktúrában, az angular.copy lassú és a elemenkénti másolással dolgozik (asszem). ES6-ban van Object.assign, vagy ott a spread operator, de az meg talán csak 1 mélységig működik. Tömbök másolására ott a .slice(), de az pedig ha a tömb elemei objektumok,mint a te esetedben is, akkor azokat nem másolja le hanem csak a referenciát másolja át. Nem egyszerű na, de hát minden nyelvben vannak kevésbé jó dolgok, így javascriptben is

Amúgy ennek a "problémának" amivel most találkoztál semmi köze a javascripthez a legtöbb nyelv így működik, hogy vannak primitív érték szerinti tipusok és a referencia tipusok. Nincs ez máshogy JS-ben sem, ennyi

-
Jim-Y
veterán
Üdv!
Angulart használva ha két scope változónak ugyanazt az értéket adom egy változón keresztül:
$scope.data = result;
$scope.original = result;Akkor a kető miért lesz "összekötve"? $scope.data-t változtatva változik a $scope.original is. Illetve hogy tudom kiküszöbölni?
A cél az lenne hogy megtaláljam mi lett változtatva az egyes sorokba, de a data és az original tömbbök megegyeznek így minden esetben.
JSFiddle linkPróbáld:
$scope.data = $scope.arr;
$scope.original = angular.copy($scope.arr); -
Jim-Y
veterán
Üdv!
Angulart használva ha két scope változónak ugyanazt az értéket adom egy változón keresztül:
$scope.data = result;
$scope.original = result;Akkor a kető miért lesz "összekötve"? $scope.data-t változtatva változik a $scope.original is. Illetve hogy tudom kiküszöbölni?
A cél az lenne hogy megtaláljam mi lett változtatva az egyes sorokba, de a data és az original tömbbök megegyeznek így minden esetben.
JSFiddle linkA result valószínűleg nem primitív típusú változó hanem referencia értékű, például egy object esetedben.
-
martonx
veterán
Hát én nem tudom, te hogy néztél egyáltalán szét ez ügyben, mert akár csak a saját dokumentációjukban is felsorolnak egy rakás példát: https://docs.mongodb.org/ecosystem/tools/administration-interfaces/
-
martonx
veterán
Nem teljesen tartozik ide, de hátha. Adott egy csodás cloud környezet ahol a nodejs-t elérem másolni és package-eket feltenni tudok, viszont kívülről a hozzá tartozó mongodb nem érhető el tűzfal miatt. (pl mongo shell-ből) Van esetleg valami npm amivel meg lehet kerülni? Webes mongo shell vagy valami tunneling megoldás? (ssh nem megy sajna)
Felteszel valami webes felületet (remélem van ilyen hozzá) ugyanarra a szerverre, ami onnan persze el fogja érni a mongoDB-t, és így a webes felületen keresztül te meg el tudod érni a mongoDB-t. Így szokták csinálni a mysql-el is PhpMyAdmin-nal.
-
Sk8erPeter
nagyúr
Köszi! Van valami gyakorlati előnye is vagy csak szimplán esztétikusabb?
Lenne esetleg értelme minden sort egy ID-val ellátni, a szűrést pedig client-side/local storage-ban elvégezni majd az eredmény alapján állítgatni a displayt?
Tudom egy kicsit overkill, de érdekes kihívás lenne ha van teljesítménybeli haszna is
Alapvetően annyi a baj azzal, hogy JavaScripttel állítgatod a stílusát egy DOM-elemnek, hogy így keversz két különböző területet: alapvetően a CSS feladata meghatározni az oldal megjelenését (benne van a nevében, hogy stíluslapokat készítesz), JavaScripttel pedig inkább a viselkedését illik manipulálni az oldalnak. Nyilván vannak kivételek, de ez pont olyan példa, amire érvényes. Persze nem érdemes túlizgulni, ez már csak szépítgetés, szemantikai okoskodás.
Most amúgy kíváncsiságból rákerestem a dologra, és találtam egy cikket, ami vitatja az osztályok ráhelyezésének vagy levételének elvét, és inkább a data-attribútumok használatát javasolja:
http://toddmotto.com/stop-toggling-classes-with-js-use-behaviour-driven-dom-manipulation-with-data-states/
Elfogadható, amit ír, de túlzásba esik az osztályok használatának elvetésével. De egyébként nem rossz a data-attribútumok használata sem."Lenne esetleg értelme minden sort egy ID-val ellátni, a szűrést pedig client-side/local storage-ban elvégezni majd az eredmény alapján állítgatni a displayt?"
Semmi értelme nem lenne ennek a megoldásnak. A szűrést így is az összes adaton kellene elvégezni, itt pedig semmiféle előnyt nem jelentene az, hogy csavarintasz és bonyolítasz egyet a dolgon.
Gondolj bele, a mostani megoldásod egy document.getElementsByClassName hívás, ami visszatér egy HTMLCollectionnel, amin végigmész egy for ciklussal, és megnézed, benne van-e az adott sorban valahol a keresett elem, aztán kész vagy. Ez is nagyon gyorsan fog végezni, még ha többezer elemed lenne, akkor se lenne vészes, a DOM-manipulálás már más kérdés. Ha viszont átállnál arra, hogy id-k szerint kérdezgess le, akkor értelemszerűen az id-kat is nyilván kellene tartani egy másik tömbben (mert különben honnan tudod, hogy miket kellene lekérdezni? Ha meg nem tudod a konkrét id-kat, akkor vissza kell térned az eredeti, amúgy ezerszer értelmesebb megoldásra), és azon a tömbön kellene végigmenned, lekérdezned id szerint az elemet, majd pont ugyanezt a keresést végrehajtani. Nem nyertél semmit, sőt, még overheadet is tettél a dologba (plusz egy-egy lekérdezés minden elemre az id szerint is, miután megkaptuk a tömbből az elemet).
Azt meg nem tudom, hogy érted, hogy "client-side"-ban elvégezni a keresést, most is kliensoldalon keresel.
localStorage-be átpakolni a keresést meg megint semmi értelme, mit keresne ott, miért kellene perzisztens módon tárolnia a kliensnek az összes adatot. Nem beszélve arról, hogy valószínűleg az oldaladon változni fognak ezek a megjelenített és szűrhető adatok, így a localStorage-et mindig szinkronban kellene tartani az újabb adatokkal. -
Sk8erPeter
nagyúr
Köszönöm mindkettőtöknek. Hozzáteszem akkor az onclick triggert is

Egyébként egy div-es táblázat szűréséről van szó. A gombok megkülönböztetésével nem kell foglalkoznom szerencsére. Nem túl elegáns módon globális változóként tárolom a legutóbb keresett értéket. Ha nem változott az előzőhöz képest, akkor nem csinál semmit. Így nem iterálja feleslegesen végig az egész táblázatot akkor sem ha bal egérgombbal kattintgat rá bárki.Valószínű elég optimalizálatlan, 230 soros táblázatot szűrök vele. Van esetleg valami gyorsabb/hatékonyabb módja ennek mint a display-t változtatgatni soronként iterálva? (electron alkalmazás így minden nodejs-es trükk bevethető)
Nem szép megoldás a style.display property-t változtatgatni JavaScriptből, inkább osztályt érdemes rátenni vagy épp levenni róla, ami a display tulajdonságot CSS-ben beállítva tartalmazza, sokkal rugalmasabb megoldás.
-
Cathfaern
nagyúr
-
inf3rno
nagyúr
Segítséget kérnék megérteni a lenti kódot. Működik, de nem értem hogyan

(nodejs stream-adventure / html stream feladat)var trumpet = require('trumpet');
var through = require('through2-map');
var tr = trumpet();
tr.pipe(process.stdout);
tr.selectAll('.loud', function(data) {
var stream = data.createStream();
stream.pipe(through(function(chunk) {
return chunk.toString().toUpperCase();
})).pipe(stream);
});
process.stdin.pipe(tr);"tr.selectAll": kap egy szűrőt és egy callback-et. A callback fv-ben definiálok egy új változót, pipeolom through-ba ahol átalakítom, majd önmagába pipeolom vissza. Eddig tiszta sor.
Viszont hogy kerül vissza? Closure-ben lett létrehozva és semmi függvény (ami return-ként működne) nem lett meghívva rá.
Maga a createSteram() köti a "stream" változót closure chainen keresztül "tr"-hoz valahogy?Maga a createSteram() köti a "stream" változót closure chainen keresztül "tr"-hoz valahogy?
Nagy valószínűséggel. Esetleg ha megkeresnéd a dokumentációt, ott biztosan leírják, ha van ilyen feature. -
Jim-Y
veterán
Sziasztok,
Node-on futó API-t szeretnék létrehozni. Ezzel nem is lenne probléma, ott akadok el, hogy authentikáció után nem tudom megtartani az usert. Van valami PHP Session szerű megoldás? Nem szeretnék cookieban jelszót tárolni, még enkriptálva sem.Olvastam szép megoldásokat, hogy a jelszó soha (authentikáció után) ne legyen elküldve, helyette egy publikus kulcs, értékként pedig valamilyen azonosító. Kliens oldalon az adatok halmazából (beleértve a jelszavat) checksumot készíteni, majd mindent (jelszó kivételével) elküldeni (post/get/etc). Szerver oldalon a fogadott adatokból és a tényleges jelszóból egy új checksum, ha a kettő egyezik, akkor mehet a response.
Ez szép, okos és praktikus, de még mindig nem tudom hogy tároljam kliens oldalon a jelszót úgy, hogy azt egy általános iskolás srác ne tudja kiszedni.Bármi útbaigazítást köszönök előre is (akár kulcsszó, cikk, prezi)
Szia.
En ezt hallottam mar sokszor, de meg nem hasznaltam, igy nem tudom, hogy milyen :/ http://passportjs.org/
-
Karma
félisten
Sziasztok,
Node-on futó API-t szeretnék létrehozni. Ezzel nem is lenne probléma, ott akadok el, hogy authentikáció után nem tudom megtartani az usert. Van valami PHP Session szerű megoldás? Nem szeretnék cookieban jelszót tárolni, még enkriptálva sem.Olvastam szép megoldásokat, hogy a jelszó soha (authentikáció után) ne legyen elküldve, helyette egy publikus kulcs, értékként pedig valamilyen azonosító. Kliens oldalon az adatok halmazából (beleértve a jelszavat) checksumot készíteni, majd mindent (jelszó kivételével) elküldeni (post/get/etc). Szerver oldalon a fogadott adatokból és a tényleges jelszóból egy új checksum, ha a kettő egyezik, akkor mehet a response.
Ez szép, okos és praktikus, de még mindig nem tudom hogy tároljam kliens oldalon a jelszót úgy, hogy azt egy általános iskolás srác ne tudja kiszedni.Bármi útbaigazítást köszönök előre is (akár kulcsszó, cikk, prezi)
Szerintem a JWT megér egy kis utánaolvasást.
-
Cathfaern
nagyúr
Sziasztok,
Node-on futó API-t szeretnék létrehozni. Ezzel nem is lenne probléma, ott akadok el, hogy authentikáció után nem tudom megtartani az usert. Van valami PHP Session szerű megoldás? Nem szeretnék cookieban jelszót tárolni, még enkriptálva sem.Olvastam szép megoldásokat, hogy a jelszó soha (authentikáció után) ne legyen elküldve, helyette egy publikus kulcs, értékként pedig valamilyen azonosító. Kliens oldalon az adatok halmazából (beleértve a jelszavat) checksumot készíteni, majd mindent (jelszó kivételével) elküldeni (post/get/etc). Szerver oldalon a fogadott adatokból és a tényleges jelszóból egy új checksum, ha a kettő egyezik, akkor mehet a response.
Ez szép, okos és praktikus, de még mindig nem tudom hogy tároljam kliens oldalon a jelszót úgy, hogy azt egy általános iskolás srác ne tudja kiszedni.Bármi útbaigazítást köszönök előre is (akár kulcsszó, cikk, prezi)
De miért akarsz kliens oldalon jelszót tárolni?

Felhasználó bejelentkezik => szerver oldalon (akár db-ben) eltárolod, hogy a X user bejelentkezett 2015.02.12 8:30-kor. Legközelebb ha X user kérést indít hozzád, akkor megnézed, hogy mikor jelentkezett be utoljára. Ha ez régebbi, mint az eltárolt idő + 30 perc, akkor újra kérsz tőle jelszót. Amit írsz az ugye arra jó, hogy ne a user id-ját tárold le, hanem generálj egy egyedi azonosítót, ami minden bejelentkezéskor megváltozik.
Vagy arra hogy már bejelentkezéskor se kelljen jelszót küldeni (sose utazzon csomagban jelszó), nem vagyok benne biztos, hogy melyik verziót írod.martonx:
Igazából nem lepne meg, ha NodeJS-en alapból nem lenne session (fél perc googlizás ebben meg is erősített). Ugye a NodeJS alapból arra lett kitalálva, hogy egyszerűen és könnyen lehessen API-kat gyártani. Ahhoz pedig nem kell session. -
martonx
veterán
Sziasztok,
Node-on futó API-t szeretnék létrehozni. Ezzel nem is lenne probléma, ott akadok el, hogy authentikáció után nem tudom megtartani az usert. Van valami PHP Session szerű megoldás? Nem szeretnék cookieban jelszót tárolni, még enkriptálva sem.Olvastam szép megoldásokat, hogy a jelszó soha (authentikáció után) ne legyen elküldve, helyette egy publikus kulcs, értékként pedig valamilyen azonosító. Kliens oldalon az adatok halmazából (beleértve a jelszavat) checksumot készíteni, majd mindent (jelszó kivételével) elküldeni (post/get/etc). Szerver oldalon a fogadott adatokból és a tényleges jelszóból egy új checksum, ha a kettő egyezik, akkor mehet a response.
Ez szép, okos és praktikus, de még mindig nem tudom hogy tároljam kliens oldalon a jelszót úgy, hogy azt egy általános iskolás srác ne tudja kiszedni.Bármi útbaigazítást köszönök előre is (akár kulcsszó, cikk, prezi)
Node-ot nem ismerem, de hogy van azon is Session, mint bármely webszerveren futó rendszeren az hétszentség.
-
Sk8erPeter
nagyúr
Nem tudok róla, hogy lenne külön topicja, de jobban járnál, ha egyből fel is tennéd a kérdésedet, és akkor még lenne is esély rá, hogy választ kapsz rá (hátha valaki fejlesztgetett már Firefox addont, vagy megtalálja a doksiban a vonatkozó részt).
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Samsung Galaxy A52s 5G - jó S-tehetség
- Projektor topic
- Autós topik
- Vivo X200 Pro - a kétszázát!
- Lightyear - befektetési app
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Revolut
- Kamionok, fuvarozás, logisztika topik
- Speciális kiadású AMD-s alaplapot villantott az ASUS a 20 éves ROG-jubileumra
- További aktív témák...
- 24 magos AMD Threadripper alapú munkára kiváló félgép, 128GB RAM-mal
- HP ZBook Fury 15 G7 i7-10850H 32GB 512GB SSD Quadro T2000 4GB FHD HUN bill, szép állapotban eladó
- Eladó MacBook Pro 16,1 2019 CTO
- új 0 km es garanciás lenovo loq rtx 5050 8gb
- Eladó teljesen újszerű karcmentes Samsung Galaxy Watch Ultra
- Samsung Galaxy A54 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- KERESEK Magyar GARIS VGA-t: 7900XTX NITRO+ / 7900GRE Pulse / 4070Ti SUPER 2x Ventus
- Bomba ár! Lenovo ThinkPad L430 - i5-3GEN I 4GB I 320GB I DVDRW I 14" HD I Cam I Garancia!
- Samsung Galaxy A37 5G / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- HIBÁTLAN iPhone 13 Pro Max 128GB Alpine Green -2 ÉV GARANCIA - Kártyafüggetlen, MS4946, 100% Akksi
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest







