Намучался с magic_quote - подскажите- реально ли

Discussion in 'PHP' started by undewaternemo, 11 Mar 2007.

  1. undewaternemo

    undewaternemo Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    22
    Likes Received:
    1
    Reputations:
    0
    $ver=$_POST['xxx'];
    $cons=$_POST['yyy'];

    база mysql
    вот такой запросик в php
    на сервере включены magic_quote

    $ret=mysql_query("UPDATE xxx SET tit='$tit', con='$cons', ver='$ver' WHERE user id='$id')


    пытаюсь и так и этак - все время система слеши вставляет перед кавычкой
    возможно ли при таких настройках сервера сильно изменить запрос ( например до такого $ret=mysql_query("UPDATE xxx SET tit='$tit', con='$cons' tit = (select pass from gg limit 1) /*)
    или там где magic_quote и переменные в кавычках ловить нечего :confused:
     
    #1 undewaternemo, 11 Mar 2007
    Last edited: 11 Mar 2007
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Скинь весь код...от этого не вижу ничего
     
  3. undewaternemo

    undewaternemo Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    22
    Likes Received:
    1
    Reputations:
    0
    PHP:
    if(isset($_POST['task'])) { $task $_POST['task']; } else { $task "none"; }




    if(
    $task == "doedit") {
    $title str_replace("<""&lt;"str_replace(">""&gt;"str_replace("'""'"$_POST['title'])));
    $contents str_replace("'""'"$_POST['contents']);
    $month $_POST['month'];
    $day $_POST['day'];
    $year $_POST['year'];
    $hour $_POST['hour'];
    $minute $_POST['minute'];
    $ampm $_POST['ampm'];
    $comments $_POST['comments'];
    $privacy $_POST['privacy'];
    $e_id $_POST['e_id'];
    $submit $_POST['submit'];

    // CHANGE DATE INTO UNIX TIMESTAMP
    $date strtotime("$month/$day/$year $hour:$minute:00 $ampm");
    $date untimezone($date);
    $date duplicatetime($date$e_id);

    // CENSOR BAD WORDS
    $bad_words explode(","trim($admin_info[banned_badwords]));
    $bad_words_replace explode(","trim($admin_info[banned_badwords_replace]));
    $contents str_replace($bad_words$bad_words_replace$contents);
    $title str_replace($bad_words$bad_words_replace$title);

    // UPDATE ENTRY
    if($submit == "$edit_entry1$submit == "$edit_entry2") { 
    if(
    $submit == "$edit_entry2") { $draft "1"; } else { $draft "0"; }
    mysql_query("UPDATE bhost_entries SET title='$title', contents='$contents', draft='$draft', privacy='$privacy', date='$date', comments='$comments' WHERE e_id='$e_id' AND u_id='$user_info[u_id]'");
    header("Location: index.php");
    exit();
    } else {
    header("Location: index.php");
    exit();
    }

    }
     
    #3 undewaternemo, 11 Mar 2007
    Last edited by a moderator: 12 Mar 2007
  4. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    В пм скинул..
     
  5. p-range

    p-range Elder - Старейшина

    Joined:
    5 Feb 2006
    Messages:
    137
    Likes Received:
    145
    Reputations:
    118
    Code:
    Function strips(&$vl)
    {
    	if(is_array($vl))
    		foreach($vl as $key => $value)
    		strips($vl[$key]);
    	else $vl = stripslashes($vl);
    return $vl;
    }
    
    if (get_magic_quotes_gpc())
    {
    	strips($_POST);
    	strips($_GET);
    	strips($_COOKIE);
    }
    вставь в начало файла