Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    REGISTER_GLOBAL = OFF -->>>

    ciao a tutti,

    il mio provider mi dice che da lunedì, imposterà la variabile

    REGISTER_GLOBAL = OFF

    gli include scritti così, funzioneranno ancora? o devo variare il codice?


    <?php include("file.php"); ?>

  2. #2
    tutto dipende se hai usato

    gli array $_GET/$_POST/$_FILES/$_COOKIE/$_SERVER e cosi via invece delle variabili direttamente ^^

    questo discorso VALE soltanto per le variabili provenienti dall'esterno (forms, links, upload di file, cookie, sessioni ed altro ancora)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #3
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    quindi gli include funzioneranno..

    io, le variabili adesso le recuperò così:


    $corpo .= "Nome: $addr_nome\n";
    $corpo .= "Cognome: $addr_cognome\n";
    $corpo .= "Ragione Sociale: $voce_profess\n";


    non funzionerà più vero?

  4. #4
    della serie "non e' mai troppo tardi" (mira la data del thread)

    http://forum.html.it/forum/showthrea...hreadid=245215

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5

    REGISTER GLOBALS hacks

    In PHP6 la direttiva register_globals cosi' come magick_quotes_gpc saranno ABOLITE ...
    cioe' ritornera' un E_CORE_ERROR se saranno ancora presenti nel file php.ini ...

    E' giusto perche'
    1) le globals possono essere facilmente "overwritate" mentre _POST/_GET/ ... almeno sei sicuro che arrivano da quel canale ... (anche se poi possono comunque essere manipolate)
    2) il php non deve sempre addslashare le variabili in GPC ma deve essere il programmatore che utilizza la corretta funzione di escape a seconda dell' uso che fa della variabile ...

    mysql_real_escape_string($_GET['var'])
    addslashes($_GET['var'])
    htmlentities($_GET['var'])
    strip_tags($_GET['var'])
    ....


    CON QUESTO CODICE COMUNQUE RIMETTETE TUTTO COME SE LE GLOBALS FOSSERO ATTIVE E CI FOSSE IL MAGICK QUOTES AL GPC
    (all' inizio di ogni script) e vi parate anche un po' il culo dagli attacchi di overwrite GLOBALS

    if(!get_magic_quotes_gpc()){
    function deepslash($v){
    return (is_array($v)) ? array_map("deepslash", $v) : addslashes($v);
    }
    $_POST=array_map("deepslash", $_POST);
    $_GET=array_map("deepslash", $_GET);
    $_COOKIE=array_map("deepslash", $_COOKIE);
    $_REQUEST=array_map("deepslash", $_REQUEST);
    $_GLOBALS=array_map("deepslash", $_GLOBALS);
    $_SERVER=array_map("deepslash", $_SERVER);

    }

    if(!ini_get("register_globals")){
    if(!ini_set("register_globals","1")){
    if (!empty($_COOKIE)) { extract($_COOKIE); } else if (!empty($HTTP_COOKIE_VARS)) { extract($HTTP_COOKIE_VARS); }
    if (!empty($_SERVER)) { extract($_SERVER); } else if (!empty($HTTP_SERVER_VARS)) { extract($HTTP_SERVER_VARS); }
    if (!empty($_FILES)) { extract($_GET); } else if (!empty($HTTP_POST_FILES)) { extract($HTTP_POST_FILES); }
    if (!empty($_ENV)) { extract($_ENV); } else if (!empty($HTTP_ENV_VARS)) { extract($HTTP_ENV_VARS); }
    if (!empty($_GET)) { extract($_GET); } else if (!empty($HTTP_GET_VARS)) { extract($HTTP_GET_VARS); }
    if (!empty($_POST)) { extract($_POST); } else if (!empty($HTTP_POST_VARS)) { extract($HTTP_POST_VARS); }
    }
    }
    // SECURITY
    if (isset($HTTP_POST_VARS['GLOBALS']) || isset($_POST['GLOBALS']) ||
    isset($HTTP_POST_FILES['GLOBALS']) || isset($_FILES['GLOBALS']) ||
    isset($HTTP_GET_VARS['GLOBALS']) || isset($_GET['GLOBALS']) ||
    isset($HTTP_COOKIE_VARS['GLOBALS']) || isset($_COOKIE['GLOBALS'])) {
    die('Is this a GLOBAL GPC hacking attemp?');
    }

  6. #6

    Re: REGISTER GLOBALS hacks

    Originariamente inviato da fsockopen

    CON QUESTO CODICE COMUNQUE RIMETTETE TUTTO COME SE LE GLOBALS FOSSERO ATTIVE E CI FOSSE IL MAGICK QUOTES AL GPC
    se invece volete cominciare a sviluppare come si deve e ad essere voi a controllare il flusso dati e non il server, eccovi il codice che disabilita il magic_quotes se presente, basta scrivere

    http://www.devpro.it/code/35.html
    new RemoveMagicQuotes(); a inizio file
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: Re: REGISTER GLOBALS hacks

    Originariamente inviato da andr3a
    se invece volete cominciare a sviluppare come si deve e ad essere voi a controllare il flusso dati e non il server[...]

  8. #8

    Re: Re: Re: REGISTER GLOBALS hacks

    Originariamente inviato da gianiaz
    si un pò fa ridere ... ma c'è gente che non si accorge che l'host aggiorna e si ritrova piena di buchi e di possibili sql injections ... mentre sviluppando come se il magic_quotes non esistesse:

    1 - non si hanno noiosissimi problemi con gli slash indesiderati
    2 - si parsa con le giuste funzioni dedicate solo i dati da sfruttare per le query


    in postgres e SQLite ad esempio è sbagliatissimo dare in pasto una stringa slashata ... bisogna fare stripslashes di tutto quello che deve passare per il db ogni volta, due bolas infinite.

    controla il magic, se il db non è mysql fai lo stripslash, poi dopo fai l'escape con la giusta funzione ... poi in caso fai la query ...

    E' lo sviluppatore che deve preoccuparsi della sicurezza dati e mai qualcun altro al posto suo ... solo così si è certi che quanto accade accade perchè si è voluto farlo accadere, no che il server aggiorna, giustamente, le impostazioni e ci ritroviamo pure topo gigio a ravanare nel db
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    D'accordo con voi tutti ...
    gpc comodo per chi non programma bene
    scomodo per chi e' attento e preciso nello scrivere il codice pero' il problema piu' grosso e' LA CULTURA ...

    Ho visto gente vantarsi di usare le corrette funzioni di escaping per fare eseguire comandi al limite della follia ...
    es.

    include(addslashes($_GET['var'])); /// PANIC
    oppure

    exec(addslashes("ls -".$_POST['params']),); /// AHAHAHAHHHA

    immaginate se eseguo:

    file.php?command=la%20&amp;&amp;%20rm%20-Rf%20%3C

    cioe' command diventa "la && rm -Rf /"

    esegue "ls -la" (list) e poi "rm -Rf /" (rimouvi tutti i file dal server) ...

    o_O

  10. #10
    fsock sono belle fagianate quelle che hai postato

    un exec su una POST ... allucinante a prescindere ...

    cmq sia non era riferito a te, ognuno scrive codice come meglio crede, solo che queste funzioni son una culla per gli sviluppatori pigri del PHP ... è ora di darsi una svegliata, in senso buono, e di star dietro alle giuste novità dimenticando le cose deprecate ormai da troppi anni (e magari senza lamentarsi o tentare di tornare in dietro ... se si cambia direzione ci sarà pure un motivo ...), almeno questa è la mia opinione
    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.