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

    [PHP 5 - APACHE 2] : Non mi vede le variabili globali passate con metodo "GET"!!!

    Forse ho sbagliato qualke cosa nel configurare php.ini, oppure ho messo nella cartella sbagliata qualke file DLL oppure ho scritto male qualke cosa in "httpd.conf"...

    Qualcuno mi potrebbe scrivere bene cosa devo fare x php 5 e apache 2... le pillole qui a volte hanno delle leggere differenze... in particolare la dll di php 5 in quale cartella la devo mettere? Io l'ho messa sia in windows, ke in windows/system ke in windows/sistem32...

    Vi ringrazio!

  2. #2
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    hai già aperto un topic simile, scrivi lì senò questo te lo chiudono. (non voglio fare il mod )

  3. #3
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692
    Qui ho specificato meglio la situazione... kiedo venia...

  4. #4
    http://www.phpnews.it/content/view/67/80/

    verifica la tua installazione con questo tutorial.


    controlla anche che lo script sia adegauato alle nuove variabili superglobali. vedi la pillola di Chris...

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

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

    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.
    Ok... ho scoperto xkè... ora xò se uso $_GET lo script nn mi parte proprio... e nn arriva nessun messaggio d errore!!!!

  6. #6
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692
    D'ora in poi userò le variabili superglobals... visto ke in locale con php 5 e register_global = off, se voglio adottare la nuova filosofia d sicurezza, mi conviene fare così... peccato ke in remoto, su aruba con php 4.4.1 con questo script:


    <?php
    include ("include/open_page.php");

    theme_screen_open();
    include("modules/$_GET[module]/index.php"); //moduli
    theme_screen_close();

    include ("include/close_page.php");


    ?>
    Allo script viene passato pagebuilder.php?module=modulo

    mi dice:


    Warning: main(modules//index.php): failed to open stream: No such file or directory in /web/htdocs/www.lafoenna.it/home/pagebuilder.php on line 5
    Come se $_GET nn lo vedesse...

  7. #7
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    hai messo due slash

  8. #8
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692
    nn ho messo 2 slash... è ke tra le 2 slash doveva comparire il nome della cartella passato con $_GET...

  9. #9
    Utente di HTML.it L'avatar di niubbo
    Registrato dal
    Jul 2004
    Messaggi
    692
    Retifico... funziona tutto... solo ke ho scoperto ke:

    Se si passa una variabile con il metodo GET per determinare il suo valore bisogna scrivere:

    $_GET[variabile]

    Se si vuole aggiornare la variabile array superglobals del metodo GET bisogna svrivere:

    $_GET["variabile"] = "stringa"

    Nn ho ben capito xkè... xò così funziona... la logica della sintassi mi è ignara...

  10. #10
    puoi usare l'altro thread
    w la topa

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.