Beiträge von casa47

    Danke euch die Links waren wirklich Hilfreich!

    Hab das ganze umgesetzt so sollte das ganze sicher sein wenn ich richtig oder ?

    Hier der Code:

    if(isset(htmlspecialchars($_COOKIE["ccid"]))){
    $cctag = htmlspecialchars($_COOKIE['ccid']);
    $hashid = md5($_SERVER['REMOTE_ADDR']);
    $shop = htmlspecialchars($_SERVER['HTTP_HOST']);
    $uri = htmlspecialchars($_SERVER['REQUEST_URI']);
    $firstVisit = date("Y-m-d H:i:s", time());

    $my_wpdb = new WPDB( 'X', 'X', 'X', 'X' );
    $allids = $my_wpdb->query( $my_wpdb->prepare( "SELECT FROM counter WHERE counter gid = %s AND shop = %s AND uri = %s", array( $hashid, $shop, $uri ) ) );
    if(isset($allids)) {
    $my_wpdb->query( $my_wpdb->prepare( "UPDATE counter SET clicks = clicks+1 WHERE counter.gid = %s AND shop = %s AND uri = %s", array( 'gid' => $hashid, 'shop' => $shop, 'uri'=> $uri ) ) );
    }
    else {
    $my_wpdb->query( $my_wpdb->prepare( "INSERT INTO counter ( cctag, gid, shop, clicks, uri, firstVisit ) VALUES ( %d, %s, %s, %d, %s, %s )",
    array( $cctag, $hashid, $shop, 1, $uri, $firstVisit ) ) );
    }
    }
    else {
    }


    du vertraust deinen $_SERVER Inhalt absolut... dies macht man nicht! Selbstverständlich kann _jeder_ seine IP Adresse fälschen und die REQUEST_URI einfach so verwenden gaht überhaupt nicht


    was verstehst du wo nicht?

    mysqli::real_escape_string
    http://php.net/manual/de/mysqli.real-escape-string.php


    Was sollte ich deiner Meinung nach anstatt $_SERVER benutzen ?

    Ja ich weiss nicht wie ich die Abfrage escapen ?

    Ein Beispiel würde mir wirklich weiterhelfen.

    Hallo zusammen,

    bin noch ganz frisch bei WP vorher habe ich alles selber geschrieben nun jetzt die Frage ist folgender Code sicher vor SQL Injection ?:


    PHP
    if(isset($_COOKIE["ccid"])){	 $cctag = htmlspecialchars($_COOKIE['ccid']);	 $hashid = md5($_SERVER['REMOTE_ADDR']);	 $shop = $_SERVER['HTTP_HOST'];	 $uri = $_SERVER['REQUEST_URI'];		 	 $my_wpdb = new WPDB( 'X', 'X', 'X', 'X' );	 $allids = $my_wpdb->get_row("SELECT gid FROM counter WHERE gid = '".$hashid."' AND shop = '".$shop."' AND uri = '".$uri."'");		
    		     if(isset($allids)) {		 	 $my_wpdb->query($my_wpdb->prepare("UPDATE counter SET clicks = clicks+1 WHERE gid = '".$hashid."' AND shop = '".$shop."' AND uri = '".$uri."'"));	  }	 else { 	 $my_wpdb->insert( 'counter', array( 'cctag' => $cctag, 'gid' => $hashid, 'shop' => $shop, 'clicks' => 1, 'uri' => $uri, 'firstVisit' => date("Y-m-d H:i:s", time()) ));	  }	 }	 else {	 }	 }


    Wenn nicht könnt ihr mir weiterhelfen ?

    Hab schon in der Doku nachgeschaut unter Data Validation aber leider versteh ich das nicht so ganz.