Visualizzazione dei risultati da 1 a 10 su 12

Visualizzazione discussione

  1. #8
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Stai facendo veramente tanta confusione. Ciò che ti permette di fare l'escape è mysql_real_escape_string, o chi per lui. Tutto ciò che c'è prima è superfluo. Le magic quotes non sono una protezione per le sql injection. Non lo sono mai state. Sono solo un danno. E' imbarazzante che fino alla 5.4 erano ancora attivabili. Quindi ecco la risposta: smetti di preoccuparti se le magic quotes sono attive o meno. Non trattarle proprio nel tuo codice. Proteggerti dalle sql injection è un tuo compito, che non puoi affidare a nessun sistema pseudo automatico. http://stackoverflow.com/questions/6...jection-in-php

    Per quando riguarda le mysql_* funzioni, si, sono deprecate. Pure da parecchio. Questo significa che in una delle prossime versioni di php quell'estensione non verrà più distribuita con php. Penso che ci vorrà ancora parecchio prima che questo si verifichi, ma sarebbe una buona cosa fare "il passo in avanti" già oggi e iniziare ad utilizzare mysqli_* o ancora meglio pdo.

    Per quando riguarda la curiosità
    se sì, perchè dovrei togliere i \ prima di inviare i valori al db? non è pericoloso?
    Devi togliere i backslash aggiunto dalle magic quotes prima di passare il dato a mysql_real_escape_string. In caso contrario viene fatto un secondo escape, con il risultato che la stringa utilizzata nella sql conterrà anche il carattere di escape come un carattere valido da salvare/utilizzare.
    Ultima modifica di .Kurt; 26-01-2015 a 23:56

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.