Visualizzazione dei risultati da 1 a 4 su 4

Discussione: http get

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    54

    http get

    Ciao a tutti,

    ho un problema che dove non riesco a venirne a capo e forse qui qualcuno può darmi una manina

    Allora tramite una richiesta http get viene richiamato uno script sul mio sito dove vengono scritte su database alcune infomazioni assate tramite l'url.

    Ecco l'url che viene richiamato:
    http://www.sito.com/pwd.php?dataora=...ord=5984265011


    Tra i dati che vengono scritti sul database c'è anche la password e qui c'è un problema:
    se la password è di 9 cifre non ci sono problemi e tutto funziona perfettamente.
    Mentre se, com è nel mio caso, la password è di 10 cifre c'è un problema.

    La password trascritta nel database è un password di 10 cifre ma che non ha nulla a che fare con la password passata dall'url ed è sempre uguale a 2147483647 qualunque sia la password di partenza.

    Ecco lo script che viene richiamato e che trascrive i dati sul database:
    codice:
    <?// FUNZIONI
    function ip_zerofill($ip) 
    {$ip_pieces = explode(".",$ip);	
    foreach ($ip_pieces as $value) {	$ip_return .= str_pad($value, 3, "0", STR_PAD_LEFT);	}	
    return $ip_return;}function checkrange($ip_start, $ip_end, $ip_check) 
    {	if ((ip_zerofill($ip_check) <= ip_zerofill($ip_end)) AND (ip_zerofill($ip_check) >= ip_zerofill($ip_start)))
    { return TRUE;	} 
    else 
    { return FALSE;	}}
    
    // CONTROLLO RANGE IP CONSENTITI
    $stato = 0; 
    // impostare 0 per disattivare il controllo degli indirizzi IP, e 1 per attivarlo
    $ip_start = "81.208.98.193";$ip_end = "81.208.98.234";
    $ip_check = $_SERVER['REMOTE_ADDR'];
    if ( (!checkrange($ip_start, $ip_end, $ip_check)) AND ($stato == 1) ) exit;
    
    // VARIABILI GET
    $password = $_GET[password];
    $dataora = $_GET[dataora];
    $cli = $_GET[cli];
    $servizio = $_GET[servizio];
    
    // INCLUDI CONNESSIONE AL DATABASE MYSQL
    include("include/config.php");
    // INVIA QUERY
    $ts = mktime();
    $query = "INSERT INTO sc_password (password, dataora, cli, servizio, timestamp) VALUES ('$password', '$dataora', '$cli', '$servizio', '$ts')";
    if (mysql_query($query)) 
    {header("HTTP/1.0 200"); echo "check=0";} 
    else 
    {header("HTTP/1.0 500"); echo "check=1";}?>
    Vi ringrazio dell'attenzione

    Ciao
    Michele

  2. #2
    il formato del campo su DB è varchar o solo char? Questo perchè il formato char riempie i caratteri mancanti alla lunghezza massima del DB con degli spazi vuoti, che potrebbero quindi inficiarti i controlli successivi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    54
    GRAZIE MILLE MDM

    grazie ancora, sul database era metto int ..adesso l'ho sostituito con varchar e tutto funziona a meraviglia ... ti ringrazio ancora infinitamente.

    Grazie

    Ciao
    Michele

  4. #4

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 © 2024 vBulletin Solutions, Inc. All rights reserved.