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

    Vulnerabilità script AJAX

    Ho creato questo script in AJAX per aggiornare il contenuto di un div senza dover aggiornare tutta la pagina:

    script.js
    Codice PHP:
    function update (objectcontainer) {
        if (
    object.length>0) {
            var 
    url="./script/update.php?page="+object;
            
    XMLHTTP=switchBrowser(function () { setContent(container) });
            
    XMLHTTP.open("GET",url,true);
            
    XMLHTTP.send(null);
        }
        else {
            
    document.getElementById(container).innerHTML "";
        }
    }

    function 
    setContent (container) {
        if (
    XMLHTTP.readyState==4) {
            var 
    element=document.getElementById(container);
            
    element.innerHTML=XMLHTTP.responseText;
        }
    }

    function 
    switchBrowser (browser) {
        if (
    navigator.userAgent.indexOf("MSIE")!=(-1)) {
            var 
    cat="Msxml2.XMLHTTP";
            if (
    navigator.appVersion.indexOf("MSIE 5.5")!=(-1)) {
                
    cat="Microsoft.XMLHTTP";
            }
            try {
                
    objectXMLHTTP=new ActiveXObject(cat);
                
    objectXMLHTTP.onreadystatechange=browser;
                return 
    objectXMLHTTP;
            }
            catch(
    e) {
                
    alert("Errore");
            }
        }
        else {
            
    objectXMLHTTP=new XMLHttpRequest();
            
    objectXMLHTTP.onload=browser;
            
    objectXMLHTTP.onerror=browser;
            return 
    objectXMLHTTP;
        }

    update.php
    Codice PHP:
    <?php
        $page
    =$_GET['page'];
        include(
    "../".$page);
    ?>
    In questo modo è possibile, da parte dell'utente, inserire come parametro object un file riservato. Come posso impedire all'utente di passare i valori che vuole alla funzione?

  2. #2
    Innanzutotto includi un controllo di tipo file_exists() per non generare errori.
    In secondo luogo l'oggetto XMLHTTPRequest invocato dalla funzione ha gli stessi privilegi dell'utente per cui se alcune pagine sono inaccessibili lo saranno anche all'oggetto. Detto questo non resta altro che rendere le pagine a cui non vuoi dare accesso private.
    In aggiunta a ciò puoi anche controllare che $page non contenga determinati valori (ad es. "private/").

  3. #3
    come faccio a rendere una pagina riservata?

  4. #4
    Se il server è tuo devi configurare Apache altrimenti se sei in hosting rivolgiti al tuo fornitore di servizi per informazioni su come agire.

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.