- Oroszok csomagolják ki a még be nem mutatott iPad Pro M5-öt
- Íme, a Moto X70 Air, vagyis Motorola Edge 70 minden oldalról
- Akciófigyelő: Komoly kedvezményekkel és ajándékokkal startol a Xiaomi 15T széria
- Bemutatta az Apple a Powerbeats Fit fülhallgatót
- Amikor a fókusz egy stapatelefon óraképernyőjén van
- Apple iPhone Air - almacsutka
- iPhone topik
- Samsung Galaxy Z Fold6 - ugyanaz, sarkosan fogalmazva
- Merész dizájn és új teleobjektív az iPhone 17 Pro mobilokban
- Samsung Galaxy A52s 5G - jó S-tehetség
- Magisk
- Android alkalmazások - szoftver kibeszélő topik
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Fotók, videók mobillal
- VoLTE/VoWiFi
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
1. erre az az általános megoldás, hogy bejelentkezéskor egy hosszú lejáratú sütit is adsz a felhasználónak valami véletlen értékkel, amit emellett egyaránt tárolsz adatbázisban. Legközelebb, ha olyan helyzet áll elő, hogy ilyet kapsz, de sessiont nem, akkor tudod ellenőrizni, van-e ilyen azonosítójú "hosszú session", és belépteted a megfelelő felhasználót.
Az alkalmazás megkövetelt biztonsági szintjétől függ, hogy pár nap vagy pár hét lejáratú a süti, illetve hogy milyen gyakran cseréled az így tárolt random értéket.2. az utf8 egyike a számos úgynevezett változó szélességű karakterkódolásnak - jelen esetben ez annyit tesz, hogy egy karaktert lehet, hogy egy byte kódol, de akár szükség lehet hatra is. A php-ban vannak erre szolgáló függvények, ezek neve mb_-vel kezdődik, itt az összefoglaló dokumentáció a multibyte stringfüggvényekről. Elsőre soknak tűnhet, de kellenek.
3. azokról valóban érdemes leszokni. A már meglevő kódjaid ne féltsd, még legalább évekik létezni és működni fognak azok a függvények is.
A vélemények megoszlanak, de a többség (én is) arra hajlik, hogy a PDO jobb. Hasznos lehet, ha menet közben esetleg váltanod kell másra (mysql helyett pgsql, például), magánvéleményem szerint az apija is kényelmesebb, nem túl rég írtam egy rövid bevezetőt a PDO-ba, ezt az aláírásomban szereplő .eu-s linken megtalálod).4. ha valami hiba történik, arról értelmezhető hibaüzenetet soha ne kapjon a felhasználó. Semmit nem ér vele, általános esetben legfeljebb összezavarja, rossz esetben megtud valami olyat a rendszer belső működéséről, amit támadási felületként használhat - ezt hívják információszivárgásnak. Bármi hiba történik, amit nem tudsz lekezelni normálisan, a felhasználó kapjon egy általános http500-as hibaoldalt. Ez nálam egy sima html oldal, php-ből include-olom és die(). Nyilván naplózás után.
5. olvass utána a prepared statement kifejezésnek. Röviden: átadsz a szervernek egy queryt, jelezve, hogy itt és itt és itt paraméterek lesznek. Ezt ő előkészíti, aztán mondod, hogy hajtsa végre azt, ezekkel a paraméterekkel. Legjobb tudomásom szerint tökéletes védelem az SQL injection ellen, felesleges körök nélkül.
A még mysql_ függvényeket használó kódjaidban elég a mysql_real_escape_string mindenre! alkalmazva, ami a felhasználótól jön. És nyugodtan feltételezheted, hogy a függvény létezik, nem kell külön ellenőrizni.6. ennyi. Esetleg hetente egyszer egy olyat csinálj, hogy törlöd azokat, akik legalább n napja regisztráltak, de még azóta sem aktiváltak.
-
Peter Kiss
őstag
-
1. Session -nal csinálod, akkor a session tömböt használd - [link]. Én úgy szoktam, hogy csinálok egy random valamit, amit eltárolok mind a session tömbben, mind az adatbázisban és ha létezik + megegyezik, akkor tovább dobom a usert, ellenkező esetben beléptetem újra.
2. Az utf8 -nak jónak kéne lenni, ott valami nem jó szerintem. Ha teheted utf8 -at használj, igen mindenhol.
3. PDO
4. Hát amíg fejlesztesz, szerintem mindent írass ki, utána pedig logolj.
5. a mysql_real_escape_string elvileg "elég".
6. Mondjuk kiküldesz neki egy random jelszót, amit első bejelentkezéskor kell megváltoztatni, és akkor állítod true -ra a változóját?
Új hozzászólás Aktív témák
- Vezetékes FEJhallgatók
- Villanyszerelés
- Apple iPhone Air - almacsutka
- iPhone topik
- Samsung Galaxy Z Fold6 - ugyanaz, sarkosan fogalmazva
- Merész dizájn és új teleobjektív az iPhone 17 Pro mobilokban
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kerékpárosok, bringások ide!
- Samsung Galaxy A52s 5G - jó S-tehetség
- Vezeték nélküli fülhallgatók
- További aktív témák...
- Asztali PC , i7 13700F , RTX 4070 , 32GB DDR5 , 1TB NVME
- Asztali PC , R7 5700X , RX 5700 XT , 16GB RAM , 512GB NVME , 750GB HDD
- GAMER PC! Ryzen 5700X / 32GB DDR4 / RTX 4060 Ti 16GB / 1TB NVMe / 650w Gold! BeszámítOK
- Apple Watch Ultra Titanium GPS+Cellular 49mm, gyári dobozában! Makulátlan!
- ROG Strix G18 G814JI 18" QHD+ IPS i7-13650HX RTX 4070 32GB 512GB NVMe gar
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest