Aktív témák
-
cucka
addikt
válasz
woodpaul #876 üzenetére
kis pontosítás:
char - max. 255 hosszú lehet
varchar - 1 vagy 2 byte-on tárolja a karakterlánc hosszát, vagyis max. ~65ezer byte fér bele.
(2 byte-os karakterkódolásnál nyilván ennek a fele)
azt egyébként el tudnád magyarázni, hogy miért lenne gyorsabb a char mint a varchar? nem találtam erről semmi információt, és érdekelne.
[Szerkesztve] -
Lortech
addikt
válasz
woodpaul #851 üzenetére
Sőt, már az lenne a legjobb, ha a böngésző kódolná javascripttel, és azt adná tovább, így még sniffeléssel se lehetne csak a hasht megszerezni.
DeMD5 értelemszerűen nincs.Visszakódolni nem lehet, csak brute force-szal próbálgatni.
Bitzonságra: Az összes bemenő adatot nagyon jól át kell gondolni, le kell ellenőrizni, a legalattomosabb és leghülyébb usert feltételezve. Gyakori hiba , hogy különböző admin scripteket csak annyival védenek le, hogy csak admin felületen lehet rábökni, de ha egy akármilyen user találomra beírja, hogy deletealltable.php, vagy showallpassword.php, akkor bukta van -
burgatshow
veterán
válasz
woodpaul #845 üzenetére
Az md5() egy függvény a php-ban, de a mysql is támogatja. Én például jobban szeretem a MySQL-ét használni egy lekérdezésben.
SELECT * FROM tabla WHERE username='user' AND password=MD5('$valtozo');
Ahol a $valtozo szerepel az lehet például a $valtozo = $_POST['postolt_jelszo']; -
RedAnt
aktív tag
válasz
woodpaul #788 üzenetére
Pár helyen módosítanám:
Az első sorban a $login körül vagy ne legyenek pontok, vagy ''.$login.'' legyen, de gondolom ez elírás lehet. És ennek a végére jöhet jól egy LIMIT 1.
A mysql_result-hoz a manuál szerint, ha nem az egész sort akarod bekérni, kellene még egy paraméter ami azonosítja az oszlopot. Bár mivel itt csak egy oszlopról van szó, ettől valószínűleg el lehet tekinteni.
Tehát:
$query = ''SELECT auth FROM register WHERE login = '$login' LIMIT 1'';
$result = mysql_query($query);
$auth = mysql_result($result,0);
Erre az $auth értéke: 'm' (mint moderátor) vagy üres string.
Szerintem a nem moderátoroknál is inkább adj meg egy betűt a táblában. Így könnyebb lesz a hibakeresés, pl. a lekérés után ha üres az $auth, (if (!$auth)) akkor tudod hogy valami történt, amit mysql_error()-ral kiírathatsz.
De ha jó szokást akarsz rögzíteni, akkor lehet hogy tényleg jobb lenne mást használni a mysql_result helyett, még ha ebben a konkrét esetben nem is számít.
Pl. a mysql_fetch_row-t. Ezzel a 3. sor így nézne ki:
$auth = mysql_fetch_row($result);
és utána az $auth[0] tartalmazza az eredményt. -
RedAnt
aktív tag
válasz
woodpaul #786 üzenetére
Olyankor célszerű elkerülni ha sok sorból áll az eredmény - ilyenkor célszerűbb ciklikusan, soronként kiolvasni az eredményeket (mysql_fetch_row/array/object stb) - de egy sornál ennek szvsz nincs jelentőssége, úgyhogy nyugodtan használd. Tipp: a query végére tegyél limit 1-et, egyrészt hogy biztosan egy sort kapj, másrészt megfelelő indexelés esetén gyorsíthat a lekérdezésen.
Aktív témák
Hirdetés
- 0 perces RYZEN laptop, eredeti Win10! FullHD IPS / 12GB DDR4 / 1TB M.2 SSD! LEGOLCSÓBB SZÁMLÁS ÁR!
- iPad Pro 11" M4 2024 256GB Cellular - Apple garancia, 100%, független, ezüst, doboz, számla
- Macbook Pro 13" - 2018 gyártás, 2 mag i5, 16/512GB - garancia (34)
- Apple iPhone 14 128GB, Kártyafüggetlen, 1 Év Garanciával
- Nitro AN515-56 15.6" FHD IPS i7-11370H RTX 3050 16GB 512GB NVMe magyar vbill gar
- Csere-Beszámítás! Custom vizes számítógép játékra! I7 12700KF / RTX 3090 / 32GB DDR5 / 1TB SSD
- AKCIÓ! "ÚJ" Microsoft Surface 5 13,5 notebook - i5 1235U 8GB RAM 256GB SSD Intel Iris Xe IGP 27% áfa
- Iphone 15 Plus 128GB Pink Dobozos 12 Hónap Garancia
- Realme C30 32GB, Kártyafüggetlen 1Év Garanciával
- Csere-Beszámítás! AMD Ryzen 7 9800X3D Processzor!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest