Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    php e sqlite... sul server mi aggiunge gli slash!

    Stò provando un sistema di news con php e sqlite, in locale mi funziona benissimo, ma quando l'ho messo sul server mi aggiunge questi "\" nei tag html.
    Per esempio:
    Sul file php c'è questo...
    ------
    echo "<form action=\"news.php\" method=\"POST\"><textarea name=\"data\" rows=\"10\" cols=\"50\">$data</textarea>
    ------
    se modifico il campo "data" in locale il risultato è questo:
    ------
    www (e la sintassi è corretta)
    ------
    se la stessa operazione la faccio sul server il risultato è questo:
    ------
    <a href=\"www.sito.com\">www</a>
    ------
    PERCHE????

  2. #2
    non lo sà nessuno?

  3. #3
    Ho scoperto che in ogni caso quando inserisco o modifico un record, il doppio apice viene affiancato da uno slash, e se aggiorno il record lo slash raddoppia.

  4. #4
    vedi se puo' fare al caso tuo ( si, fa al caso tuo )
    http://www.devpro.it/php5_id_74.html

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Grazie mille, scusami ma sono un pivello... come lo devo usare?
    Io ho un codice così, dove lo metto?
    -----------
    <?
    $id=$_POST['id'];
    $data=$_POST['data'];
    $Option=$_POST['Option'];
    $Nome_db="news.sqlite";
    $db = sqlite_open($Nome_db, 0666);
    sqlite_query($db, 'CREATE TABLE news (id INTEGER PRIMARY KEY, data VARCHAR(255))');
    if ($Option=='A'){
    sqlite_query($db, "INSERT INTO news (data) VALUES ('$data')");
    }else{
    if ($Option=='M'){
    sqlite_query($db, "UPDATE news SET data='$data' WHERE id='$id'") ;
    }else{
    if ($Option=='C'){
    sqlite_query($db, "DELETE FROM news WHERE id = '$id'");
    }else{
    }
    }
    }
    print "<form action='edit.php' method='POST'><textarea cols='50' rows='10' name='data' value=''></textarea><input name='Option' type='hidden' value='A'><input type='submit' value='Aggiungi'></form>";
    $result = sqlite_query($db, 'select * from news ORDER BY id DESC');
    while ($riga = sqlite_fetch_array($result)){
    $data = $riga['data'];
    $id = $riga['id'];
    print "<form action='edit.php' method='POST'><input name='id' type='hidden' size='5' value='$id'></input>
    <textarea name='data' rows='10' cols='50' lang='en'>$data</textarea><input name='Option' type='hidden' value='M'></input>
    <input type='submit' value='Modifica'></input></form>";
    print "<form action='edit.php' method='POST'><input name='id' type='hidden' value='$id' size='5'></input><input name='Option' type='hidden' value='C'></input><input type='submit' value='Cancella'></input></form>";
    }
    ?>
    -------------

  6. #6
    io semplicemente metterei:
    codice:
    stripslashes($variabile)
    dove $variabile è quella che ti viene slashata con \.
    Ciò e dovuto al fatto che probabilmente sul server dove hai la tua applicazione nel file di configurazone php.ini il flag magic_quotes_gpc è impostato ad On (valore di default), il che prevede che i caratteri come ' e " in transito in GET, POST e COOKIE vengano per sicurezza slashati diventando \' e \". Con stripslashes rimuovi le \.
    Il perchè di questo comportamento è qui: SQL injection
    Stripslashes è qui: PHP.net strpslashes()
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  7. #7
    mmm
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  8. #8
    GRANDE!!!!! stripslashes ha risolto tutto...GRAZIE MILLE!

  9. #9
    Originariamente inviato da federicolupo
    Grazie mille, scusami ma sono un pivello... come lo devo usare?
    Io ho un codice così, dove lo metto?
    -----------
    <?
    require 'RemoveMagicQuotes.class.php';
    $MQ = &new RemoveMagicQuotes();
    // basta, non devi fare altro ..
    $id=$_POST['id'];
    ...




    Originariamente inviato da mxa
    io semplicemente metterei:
    codice:
    stripslashes($variabile)
    ...
    Il perchè di questo comportamento è qui: SQL injection
    ...
    SQLITE non lavora bene con gli slashes ... ecco una discussione su come si fanno query libere da sqlinjections

    http://forum.html.it/forum/showthrea...52#post7217663
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.