Mit Hilfe des POST-Methode zum ausblenden von URL-Parametern

Verstehe ich, dass ich in der Lage bin, die POST-Methode für URL-Parameter für die Anzeige von Daten, die nach einer bestimmten variable, ich weiß, wie man die Verwendung der GET-Methode - aber ich bin gesagt, dass die POST-Methode verwendet werden kann, zu verstecken, der Teil der URL, das ist wie diese.

/data.php?parameter=1234

Was ist eigentlich der Unterschied der beiden Methoden in Bezug auf die URL-Parameter?

Nachfolgend finden Sie einige code, der holt sich die Daten aus einer Datenbank nach der id eines bestimmten link

    <?php
//This includes the variables, adjusted within the 'config.php file' and the functions from the 'functions.php' - the config variables are adjusted prior to anything else.
require('configs/config.php');
require('configs/functions.php');

    //This is the actual interaction with the database, according to the id.
    $query = mysql_query("SELECT * FROM table WHERE id=" .$_GET['id'] . ";") or die("An error has occurred");

            //This re-directs to an error page the user preventing them from viewing the page if there are no rows with data equal to the query.
    if( mysql_num_rows($query) < 1 )
{
  header('Location: 404.php');
  exit;
}

    //Here each cell in the database is fetched and assigned a variable.
    while($row = mysql_fetch_array($query))
    {
        $id = $row['id'];
        $title = $row['title'];
        $month = $row['month'];
        $day = $row['day'];
        $photo = $row['photo'];
        $text = $row['text'];    
    }
?>

Auf einer separaten Seite habe ich links erzeugen, um die data.php -Datei nach der ID etwa so:

<a href="post.php?id=<?php echo $content['id']; ?>"><?php echo $content['title']; ?></a>

Vergessen, dass es mögliche SQL-Injektionen, die auftreten können, durch den obigen code, wie würde ich mich über die Nutzung der POST-Methode, um sich zu verstecken die URL-Parameter, oder zumindest nicht anzeigen wie diese:

http://example.com/data.php?id=1
Eine kleine Randbemerkung mysql_query("SELECT * FROM table WHERE id=" .$_GET['id'] . ";") ist anfällig für SQL-injection, also seien Sie vorsichtig, wenn Sie setzen diese online und wenn Ihre Datenbank enthält wichtige Daten.

InformationsquelleAutor Alex | 2011-10-26

Schreibe einen Kommentar