trim + addslashes + strip_tags

kongen

kongemedlem
Hva er riktigst plassering av trim, addslashes og strip_tags av disse 2:

PHP:
$array = trim(addslashes(strip_tags(unserialize($_GET['array']))));
$navn = $array['navn'];
$adresse = $array['$adresse'];

PHP:
$array = unserialize($_GET['array']);
$navn = trim(addslashes(strip_tags($array['navn'])));
$adresse = trim(addslashes(strip_tags($array['$adresse'])));

Skal de plasseres på selve arrayen i GET, eller hos hver del av arrayen?

Er det flere ting enn trim, addslashes og strip_tags som skal brukes før noe skal i database?

Skal disse bare brukes på GET/POST eller skal de også brukes på SESSION/COOKIE?
 

barentshavet

Active Member
Ikke bruk addslashes når du skal gjøre noe i databasen, med mindre du har en veldig god grunn?

Bruk mysqli_real_escape_string().

http://stackoverflow.com/questions/...ween-phps-addslashes-and-mysqli-escape-string
http://www.jansch.nl/2007/11/30/dont-use-addslashes-for-database-escapes/
http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string

Du ønsker forøvrig å lagre så rå data som mulig i databasen, så å strippe taggene før du lagrer de er litt rar praksis, dersom det er tilfellet. Da ville jeg heller brukt "form validation" eller strippe tagger på output.
 
Sist redigert:

kongen

kongemedlem
Takk for svar :)

Ikke bruk addslashes når du skal gjøre noe i databasen, med mindre du har en veldig god grunn?

Bruk mysqli_real_escape_string()..

Tror ikke jeg kan bruke mysqli_real_escape_string() fordi jeg kobler til databasen med sånn pdo.

Du ønsker forøvrig å lagre så rå data som mulig i databasen, så å strippe taggene før du lagrer de er litt rar praksis, dersom det er tilfellet. Da ville jeg heller brukt "form validation" eller strippe tagger på output.

Jeg leste en plass at det første man skulle gjøre var å strippe taggene fra input.

strip_tags(), on the other hand, should be run immediately on input of data, before any other processing occurs.

http://www.acunetix.com/websitesecurity/php-security-1/
 
Sist redigert:

barentshavet

Active Member
Takk for svar :)



Tror ikke jeg kan bruke mysqli_real_escape_string() fordi jeg kobler til databasen med sånn pdo.



Jeg leste en plass at det første man skulle gjøre var å strippe taggene fra input.

strip_tags(), on the other hand, should be run immediately on input of data, before any other processing occurs.

http://www.acunetix.com/websitesecurity/php-security-1/

Ja, når du bruker PDO så antar jeg at du bruker PDO Prepare og da blir det gjort for deg :)

Når det kommer til bruk av strip_tags så er det nok litt delte meninger her, om man skal gjøre det på input eller output. Det kommer selvfølgelig litt an på situasjonen, men som en hovedregel ønsker du å lagre rådata. Det er uansett viktig å huske at strip_tags ikke er et sikkerhetstiltak, men en hjelpefunksjon i PHP.
 
Topp