Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692

    [PHP 5]: Lo script non mi vede le variabili passate con metodo "GET"!!!

    Ho installato PHP 5... mi eseguiva gli script con strani errori... poi ho capito ke non mi vede le variabili passate con il metodo get... devo impostare qualke cosa in php.ini? Cmq tutto questo mi sembra assai strano... AIUTOOOOOOOOOOOOOOOOOOOOOOOOOO!!!

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

    basterebbe una ricerca..

  3. #3
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692
    Non mi da niente se faccio una ricerca con quella parola...

  4. #4

  5. #5
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692
    Risolto il mistero:


    Dalla versione 4.2.0 gli sviluppatori di PHP hanno deciso di rivoluzionare la gestione delle variabili provenienti dall'utente e hanno deciso di impostare nel file di configurazione php.ini la variabile register_global = Off di default non permettendo più il comodissimo ma insicuro sistema di assegnazione automatica ad una variabile del suo valore passato dall'esterno.

    La comodità stava nel fatto che se passavo ad uno script “pippo.php?io=max” avevo direttamente disponibile la variabile $io che assumeva il valore “max”. Questo sistema era decisamente molto comodo e facilitava il compito del programmatore ma creava dei problemi di sicurezza per chè anche se nel php.ini era presente la configurazione variables_order che impostava la priorità con cui dovevano essere gestite le assegnazioni di una variabile da una GET, POST, COOKIE o SESSION c'era l'inconveniente che se un programmatore prevedeva un controllo su una variabile $control e un utente smaliziato passava allo script tramite GET control=qualcosa il controllo del programmatore veniva eluso e di conseguenza si apriva una falla gigantesca nell'applicazione.

    Il problema è che tutte o quasi le applicazioni realizzate prima della versione 4.2.0 sono state sviluppate con l'impostazione delle variabili globali impostata ad On e per questa ragione chiunque offra hosting a webmaster esterni sarà costretto a mantenere questa configurazione per non compremettere la funzionalità delle applicazioni presenti sul proprio server web.
    Comunque sia d'ora in avanti chi svilupperà software in PHP per mantenere una portabilità ed una longevità nonchè sicurezza intrinseca dovrà cercare di sviluppare considerando che register_global sia uguale ad Off perchè prima o poi gli sviluppatori di PHP forzeranno con una versione nuova gli hoster ad utilizzare la nuova configurazione.


  6. #6
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692
    Non ho messo register_global ad on... ma ho provato ad utilizzare:

    $_GET["variabile"] invece di $variabile... come consigliano...
    risultato:

    Nn mi fa partire lo script!!!!!
    Se invece non uso $_GET lo script parte ma ovviamente rimangono i problemi del register_global = off!!!!

    Ma ke ho fatto d male!!

  7. #7
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692
    display_errors = off

    nn mi faceva vedere l'errore... ke è:

    Parse error: parse error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in E:\www\lafoenna.it\pagebuilder.php on line 5

    Devo aver utilizzato male $_GET...

  8. #8
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692

    - register_globals = Off [Security, Performance]
    ; Global variables are no longer registered for input data (POST, GET, cookies,
    ; environment and other server variables). Instead of using $foo, you must use
    ; you can use $_REQUEST["foo"] (includes any variable that arrives through the
    ; request, namely, POST, GET and cookie variables), or use one of the specific
    ; $_GET["foo"]
    Se metto la variabile all'interno di $_GET tra " " mi da quel errore di parse... eppure all'interno del file php.ini le mette tra virgolette... se invece nn metto le virgolette va...

    Ma ke hanno sbagliato loro???

    Sto impazzendo...

  9. #9
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    ma postare il codice no???

  10. #10
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692
    Ora va... usando $_GET[variabile] e non $_GET["variabile"] come sta scritto in php.ini d PHP 5!!!!!!
    Ora xò ho un nuovissimo problemaaaaa!
    Il mio sito è ostato su aruba(fermi con le polemike... state buoni...) e usa php 4.4.1 ke... TADAAAAAAAAAAAAA!... mi sembra nn supportare $_GET come array globale predefinito... nel mio manuale php ci sta "http_get_vars"... uso questo array x vedere le variabili da GET? Funzionava tutto... finkè nn ho istallato php 5 in locale ed ho capito ke x fare un lavoretto in sicurezza dovevo avere register_global = off, vorrei continuare il mio lavoro programmandolo d sicurezza... ma aruba ha una versione d php vecchia... ke nn supporta $_GET mi pare d capire... come creo script sicuri x un register_global = off compatibili con php 4.4.1?

    Ora provo con $HTTP_GET_VARS... faccio bene? HELP!!!!

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.