Sql ed url errore query connection, aiuto per una giusta pr

di il
1 risposte

Sql ed url errore query connection, aiuto per una giusta pr

Salve ragazzi,fino ad ora da autodidatta ho fatto qualche sito, ma mi sono accorto che la mia programmazione fa schifo. ho bisogno di qualche aiuto.

prima di tutto sull'apertura della connection e sulla chiusura delle query.
Di solito io uso fare un file connection.php. dove al suo interno metto questo:

[PHP]
<?php
mysql_connect("host","user","pass") or die (mysql_error());
mysql_select_db("database") or die (mysql_error());
?>
[/PHP]
poi questo file lo includo nella index

e nelle varie pagine vado facendo le query come questa

[PHP]

$com1=mysql_query("SELECT comune FROM comune WHERE id_comune='$stringa' ");
$com11=mysql_fetch_array($com1);

[/PHP]


E' giusto fare cosi? credo di no, come devo fare per fare una corretta programmazione??

Inoltre come posso fare in modo da proteggermi, quando utilizzo il get dall'url? perché mi sono accorto che se ho un url del tipo?
index.php?page=1&ciccio=726

mi sono accorto che in questo modo mi possono fare un sacco di danno perché dopo l'uguale possono mettere un sacco di cose e distruggermi il tutto
e poi se per esempio al posto del numero metto
index.php?page=1&ciccio=''
la query mi da un sacco di errori .

come posso fare?
mi potreste dare qualche consiglio?

1 Risposte

  • Re: Sql ed url errore query connection, aiuto per una giusta pr

    Ciao tranquillo, molti guru della programmazione sono autodidatti...
    e poi per quanto riguarda le capacita si sviluppare software si apprendono e migliorano con l'esperienza e lo studio

    Per quanto riguarda le righe di codice per la connessione le avrei scritte cosi:
    <?php
    $host = "localhost";
    $user = "user";
    $psw = "password";
    
    $link = mysql_connect ($host, $user, $psw);
    if (!$link) {
        die('Errore di connessione : ' . mysql_error());
    }
    
    $db_selected = mysql_select_db('db', $link);
    if (!$db_selected) {
        die (Errore: ' . mysql_error());
    }
    ?>
    Per quanto riguarda i tuoi dubbi di sicurezza sull'uso dei parametri prelevati dalla richiesta http sono assolutamente fondati.

    In genere vengono utilizzati per fare SQL Injection.
    Esistono diversi modi per proteggersi, ma visto che sei ancora alle prime armi ti suggerisco quelli più semplici.

    Preleva la tua informazione http e sottoponila a una funzione dedicata di validazione.
    Se per esempio ti aspetti come dato del parametro 'ciccio' un informazione numerica, testa che sia effettivamente un numero intero e se questa condizione non si verifica termina l'elaborazione del codice o lancia un errore.
    Solo se il paramentro è ok passa l'informazione alla tua query.

    Fammi sapere se è tutto chiaro, ciao
Devi accedere o registrarti per scrivere nel forum
1 risposte