Măsuri de securitate - PHP, MySQL

Totalitatea subiectelor care nu respectă regulamentul vor fi stocate aici.
Deconectat
Avatar utilizator
Lucian Hritcu
Nivel 3
Nivel 3
Mesaje: 333
Membru din: 11 Dec 2013
Localitate: Suceava
Reputație: ► # ► # ►
► #Designer Eenimente
► #Realizator Reclame
► #Helper J4M
► #Detinator de Droguri
► #Luptator K1
► #Creator de Porno
► #Frate cu Tata
► # ► # ►
Status: ► #Designer
Server Metin2: ► #Sexolog
Regat: Jinno
Mulțumiri acordate: 1
Mulțumiri primite: 17
Contact:

Măsuri de securitate - PHP, MySQL

Mesajde Lucian Hritcu » 26 Sep 2014, 08:22

Consider acest subiect informativ ca fiind unul vital.

1. Extensia MySQL, neacceptată
Trebuie să fii logat sau înregistrat pentru a vedea acest link. PHP.net a anunțat la lansarea versiunii php 5.5 faptul că extensia MySQL a fost dezactivată. În caz de folosire, această funcție afișează o eroare tip E_DEPRECATED și va fi eliminată începând cu versiunile următoare. Se recomandă folosirea extensiei îmbunătățite al MySQL sau PDO_MySQL.

2. Alte metode de hash al parolelor
Se știe că există tabele-curcubeu (rainbow table) pentru MD5 și că md5 este nesigur pentru parole. Însă acesta este folosit în continuare de Metin2. PHP recomandă folosirea metodelor mai puternice, eu vă recomand funcția password_hash() în php 5.5 iar la versiunile mai vechi crypt() care, de asemenea, este compatibil cu password_hash().

3. Funcție simplă pentru SQL Injection
Nu vă complicați cu tot soiul de scripturi gen php firewall. Pentru SQL Injection este suficient o funcție simplă de filtrare:
PHP Code:

Cod: Selectaţi tot

function sanitize($var) {
    if(is_array($var)) {
        return false;
    }
    $var = htmlentities($var, ENT_QUOTES);
    $var = htmlspecialchars($var, ENT_QUOTES, 'UTF-8');
    if(get_magic_quotes_gpc()) {
        $var = stripslashes($var);
    }
    return $var;


Folosit în combinație cu statement (vezi: mysqli_stmt class sau PDOStatement class)
Acestea două formează un anti SQL Injection de bază. Mai mult nu este necesar.

4. Securizare parametrii
Securizarea parametrilor care intră în baza de date este foarte importantă. Nu numai că securizează totul, dar performanța este ridicată.
Pagina cu profil jucător de la joacă.4Mt.ro folosește acestă funcție de securitate. Rezultatul:
Code:

Cod: Selectaţi tot

Havij 1.16 Pro!
You haven't registered yet! Please register to use all Pro features
Analyzing http://joaca.4mt.ro/server1/index.ph...layer=BobeAlex with 2 input parameter(s)
Test parameter: player
Host IP: xxx.xxx.xxx.xxx
Web Server: Apache
Keyword Found: Războinic
I guess injection type is Integer?! If injection failed, retry with a manual keyword.
Can't find db server type! But maybe there be some chances! [-o<
Trying another method using keyword for finding columns count
Findig columns count for MySQL failed! It seems that DB server is not MySQL
Cannot find column count!
Testing for MySQL error based injection method
Bypassing illegal union failed! Turning off this feature
MySQL error based injection method cant be used!
Changing inejction syntax
Retrying to find current data base
I think i was wrong about injection type trying String type!
MsSQL error based injection method cant be used!
MsSQL time based injection method can't be used
MySQL time based injection method can't be used
Another try to find DB server type
Can not detect data base! Please choose a data base.
Test parameter: page
Can not find keyword but let me do a try!
I guess injection type is Integer?! If injection failed, retry with a manual keyword.
Can't find db server type! But maybe there be some chances! [-o<
Cannot find column count!
Testing for MySQL error based injection method
Bypassing illegal union failed! Turning off this feature
MySQL error based injection method cant be used!
Changing inejction syntax
Retrying to find current data base
I think i was wrong about injection type trying String type!
MsSQL error based injection method cant be used!
MsSQL time based injection method can't be used
MySQL time based injection method can't be used
Another try to find DB server type
Can not detect data base! Please choose a data base.


Link-uri:
- Trebuie să fii logat sau înregistrat pentru a vedea acest link. pentru MySQLi
- Trebuie să fii logat sau înregistrat pentru a vedea acest link. pentru PDO_MySQL.

5. PHP 5.3, fără update-uri viitoare
PHP.net a anunțat că versiunea PHP 5.3 are ultimul update: php 5.3.29. După această versiune nu se mai lansează versiuni viitoare. Se recomandă trecerea la PHP 5.4 care este suportat până în 2016.

------------------------------------------------------------------------------
Subiectul va fi actualizat la orice noutate în materie de securitate.

Deconectat
Avatar utilizator
M.Seby
Utilizator interzis !
Utilizator interzis !
Mesaje: 3010
Membru din: 10 Sep 2013
Localitate: Suceava
Reputație: Fost Administrator
Fost Organizator echipă
Status: Sunt bine mersi ^.^
Server Metin2: Not Found
Regat: Jinno
Mulțumiri acordate: 1
Mulțumiri primite: 16
Contact:

Re: Măsuri de securitate - PHP, MySQL

Mesajde M.Seby » 31 Iul 2015, 15:47

Not Found
Coș!
Imagine

Contact:

Skype: seby_061


Înapoi la “Topicuri şi mesaje şterse”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Mihawk și 10 vizitatori