Új hozzászólás Aktív témák
-
fazr
senior tag
válasz
Tele von Zsinór #8268 üzenetére
Köszi a részletes választ és a PDO-s írásodat is elolvasom hamarosan.
(#8267) Sk8erPeter Nem vettem észre, hogy törölted
Mindegy.
-
fazr
senior tag
válasz
Sk8erPeter #8264 üzenetére
Egy egyszerű példa:
akarmi.php utf-8 kódolású fájl:
<?php
// ha ez nincs itt akkor is rossz sima strlen()-nel
header("Content-Type: text/html; charset=utf-8");
$str = "é";
echo strlen($str) . "<br />"; // 2-t ad vissza
echo mb_strlen($str, "utf-8"); // 1-et ad vissza
?>(#8265) Athlon64+:
Prepared statementtel kapcsolatban kérdezném, hogy mellette kell használni a mysql_real_escape_string-et? Ha manualból jól értem, akkor kell.köszi mindkettőtöknek
-
-
fazr
senior tag
Sziasztok!
Lenne néhány kérdésem. Előre is bocs, ha valamelyik hülyeség, nem régóta kezdtem el foglalkozni php-val.
1, Ha Sessionnel csinálok beléptetést és azt akarom, hogy a böngésző újbóli megnyitásakor is bejelentkezve maradjon a felhasználó, akkor ezt gondolom cookieval kell megoldani.
A kérdés az lenne, hogy ilyenkor mit kell tárolni a cookieban? Hogy kell megoldani?2, Gondolom a fájl és a tartalom kódolásánál UTF-8 lenne a kézenfekvő, de mégsem jó.
Pl az strlen() az ékezetes karaktereket duplán számolja. ANSI fájlkódolással és Latin2 charsettel már tökéletes.
Utóbbival annyi bajom van csak, hogy ha esetleg nemzetközi oldalt csinálok, akkor lehet kevés a Latin2.Ezekkel összefügg a mysql karakterkészlete? Úgy értem, hogy amilyen kódolást használok a php fájloknál, ugyan azt kell használni az érintett tábláknál is?
3, Olvastam több helyen, hogy már nem ajánlott sima mysql_* parancsokat használni adatbázis kapcsolódásra és parancsok végrehajtására. Mit ajánlotok? Mysqli-t PDO-t, vagy mást?
4, Ha valamilyen mysql hiba lép fel, akkor érdemes az eredeti hibaüzenetet elnyomni és kiírni egy szűkszavú sajátot (azt ami a felhasználóra tartozik), vagy ez nem okoz sebezhetőséget és csak esztétikai szerepe van? Az eredetit persze én meg tudnám nézni (email/log, vagy valami ilyesmire gondoltam, vagy ha van jobb, akkor kiváncsian várom).
5, SQL injection ellen hogy lehet hatásosan védekezni? A metódus belseje "összetömörítve":
if( function_exists( "mysql_real_escape_string" ) ) {
if( get_magic_quotes_gpc() ) { $value = stripslashes( $value ); }
$value = mysql_real_escape_string( $value );
}
return $value;Ha valamivel ki kell egészíteni, akkor légyszíves írjátok le mivel és milyen módon.
Ugye minden esetben el kell ezt játszani (meghívni a metódust), amikor adatbázishoz nyúlok? Pl regisztáció, hozzászólás írás, bejelentkezés és egyéb űrlapok mellett még mikor kell?6, Regisztráció után aktiváló email kivitelezése így mennyire jó? Nagy vonalakban:
- Generálok egy kódot, amit mentek adatbázisba (ezt a felhasználók táblájába kell, vagy érdemes máshol kezelni?), valamint elküldöm az illetőnek emailben (pl link formájában)
- Csinálok egy feldolgozó php fájlt, ami get metódussal kapja meg az adatot az aktiváló linkre kattintva (itt /is/ gondolom védekezni kell sql injection ellen) és ha sikerült az aktiváció, akkor true-ra kell állítani a felhasználók táblában lévő activated mezőt.
Új hozzászólás Aktív témák
Hirdetés
- Lenovo Ideapad 330S-15IKB / I5 /20GB RAM / GTX 1050 / M.2 SSD
- Gamer PC - i3 12100f, RTX 3070 és 16gb DDR5 + GARANCIA
- Lenovo ThinkPad T14 Gen 5 Ultra-I7/64GB/512SSD/Érintőképernyő/garancia
- Lenovo ThinkPad T14 G3 I5-1245U/32GB/1TBSSD/Érintőképernyő/Garanciás.
- Dell Precision Munkaállomás 7750 17.3" i7-10850H/32GBRAM/1TBSSD/RTX3000/WIN11PRO
- Fujitsu USB Port Replicator PR09 docking station (1x5K vagy 2x4K felbontás) (DisplayLink)
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- BESZÁMÍTÁS! ASUS ROG STRIX Z390-E GAMING alaplap garanciával hibátlan működéssel
- ÁRGARANCIA! Épített KomPhone i5 14400F 32/64GB DDR5 RTX 5060Ti 8GB GAMER PC termékbeszámítással
- 1-12 részletre.Új noblechairs EPIC műbőr FEKETE - FEKETE. 2 év garancia!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest