Új hozzászólás Aktív témák

  • 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