Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema header-include

    Ragazzi eccomi di nuovo qui, ho un problema dal quale non riesco ad uscire...

    ho creato un pannello di controllo per un sito utilizzando il login, il mio problema riguarda gli header(location : etc); all'interno delle varie pagine del sito in quanto per proteggerle ho messo il riconoscimento del login su tutte le pagine ma ho anche inserito queste pagine attraverso degli include in una pagina principale dalla quale richiamare le varie pagine.


    Per intenderci nella pagina principale ci sono tasti che portano:

    Codice PHP:
    [url="index.php?include=immagini"]Immagini[/url
    Codice PHP:
    [url="index.php?include=../news/scrivi"]Annunci[/url

    ed in ognuna di queste pagine c'è:
    Codice PHP:
    <?php session_start(); ?> 
     <?php if (!isset($_SESSION)) {   session_start(); }
     
    $MM_authorizedUsers ""
    $MM_donotCheckaccess "true"
     
    // *** Restrict Access To Page: Grant or deny access to this page function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {   
     // For security, start by assuming the visitor is NOT authorized.    $isValid = False;   
     // When a visitor has logged into this site, the Session variable MM_Username set equal to their username.    
    // Therefore, we know that a user is NOT logged in if that Session variable is blank.    if (!empty($UserName)) {      
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login.      
    // Parse the strings into arrays.      
    $arrUsers Explode(","$strUsers);      
    $arrGroups Explode(","$strGroups);      
    if (
    in_array($UserName$arrUsers)) {        $isValid true;      }      
    // Or, you may restrict access to only certain users based on their username.      
    if (in_array($UserGroup$arrGroups)) {        $isValid true;      }      
    if ((
    $strUsers == "") && true) {        $isValid true;      }    }    return $isValid;  }  $MM_restrictGoTo "login_index.php"
    if (!((isset(
    $_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers$_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) 
    {     
     
    $MM_qsChar "?";   
    $MM_referrer $_SERVER['PHP_SELF'];   
    if (
    strpos($MM_restrictGoTo"?")) $MM_qsChar "&";   
    if (isset(
    $QUERY_STRING) && strlen($QUERY_STRING) > 0)    
    $MM_referrer .= "?" $QUERY_STRING;   $MM_restrictGoTo $MM_restrictGoTo$MM_qsChar "accesscheck=" urlencode($MM_referrer);   

    header("Location: "$MM_restrictGoTo);   
    exit; } 
    ?>

    Quindi cosa accade...che dalla pagina index partono tutti gli include alel varie pagine le quali però hanno tutte un loro header e quindi:

    Warning: Cannot modify header information - headers already sent by (output started at /home/****/public_html/pannellocliente/immagini.php:3)


    SPero di essere stato abbastanza chiaro e spero nell'aiuto da parte vostra...

  2. #2
    Per favore, quando posti del codice, verifica che sia leggibile.

    Per il warning, ti suggerisco di leggere questo articolo:

    Warning: Cannot modify header information - headers already sent ...

    In ogni caso, dovresti implementare dei controlli stringenti sui file che vengono inclusi in quel modo.

  3. #3
    ho aggiustato la visualizzazione del codice...scusate


    Cmq che tipo di controlli dovrei mettere?

  4. #4
    Originariamente inviato da Valliant
    Cmq che tipo di controlli dovrei mettere?
    Ad esempio forzare l'include ai soli file di una determinata directory (nella quale gli utenti non possono fare l'upload). Forzare l'estensione .php (disabilitandola in eventuali script di upload) o creare una white list per i soli file che possono essere inclusi.

  5. #5
    un altro problemuccio....non vorrei far vedere gli ?include=


    vorrei che si vedesse sempre index.php

    come posso fare?

    *scusatemi è 1 mese che mi sto accingendo a php*

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.