Hirdetés
- Azonnali informatikai kérdések órája
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Megérkezett a Dolby Vision 2
- Internet Rádió építése (hardver), és programozása
- Milyen CPU léghűtést vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- TCL LCD és LED TV-k
- Milyen belső merevlemezt vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
Ú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
- Azonnali informatikai kérdések órája
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- PlayStation 5
- Megérkezett a Dolby Vision 2
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Hobby rádiós topik
- Elemlámpa, zseblámpa
- Óvodások homokozója
- sziku69: Szólánc.
- További aktív témák...
- Nagy Teljesítményű Acer Nitro Gamer Laptop 5 (RTX 3070) - GARANCIÁLIS 2026 VÉGÉIG!
- Asztali PC , i5 8400 , 1660 Super , 16GB DDR4 , 500GB SSD
- Prémium Hordozható Razer Blade Stealth Gamer Laptop 13" Karcmentes Állapotban
- ASUS ZenBook 14 OLED UM3402 - 14" 2.8K OLED 90Hz - Ryzen 7-5825U - 16GB - 1TB - Win11 - MAGYAR
- Eladó AM5 DDR5 Konfig Ryzen 5 8400F 16GB DDR5 512GB SSD RX5700XT 8GB!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest