Visualizzazione risultati 1 fino 6 di 6

Discussione: Sito (non wordpress) in manutenzione per tutti anche per l'ip indicato

  1. #1
    gpdv non è connesso Neofita
    Data registrazione
    07-02-2013
    Messaggi
    3

    Predefinito Sito (non wordpress) in manutenzione per tutti anche per l'ip indicato

    Saluti,
    ho un problema con il sito (non wordpress) in manutenzione.
    In .htaccess metto:

    Codice:
    RewriteEngine on
    RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444$
    RewriteCond %{REQUEST_URI} !^/maintenance/index\.html$ [NC]
    RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|svg|swf|css|ico|js)$ [NC]
    RewriteRule .* /maintenance/index.html [R=302,L]
    dove, ovviamente, al posto di 111,222,333 e 444 metto il mio ip.
    Pur verificato da www.myip.com che l'ip esposto in rete sia quello giusto, se accedo
    al sito mi manda nella pagina di manutenzione come gli altri.
    Dov'e' che sbaglio?
    Ultima modifica di gpdv : 26-05-2022 alle ore 19.07.36

  2. #2
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,014

    Predefinito

    Mi sembra che ci siano delle imprecisioni.

    Così dovrebbe essere nella forma corretta:
    Codice:
    RewriteEngine on
    RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444
    RewriteCond %{REQUEST_URI} !^/maintenance/index.html$ [NC]
    RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|svg|swf|css|ico|js)$ [NC]
    RewriteRule .* /maintenance/index.html [R=302,L]
    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 26-05-2022 alle ore 19.28.12

  3. #3
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Nel caso di Proxy, Reverse Proxy o Load Balancer (tra cui CloudFlare) REMOTE_ADDR può corrispondere non al reale ip del visitatore ma a CloudFlare se non usa mod_cloudflare o mod_remoteip https://support.cloudflare.com/hc/en...l-visitor-IPs/ o non sovrascritto tramite codice php (Come in WordPress gestito), poiché il web server possiede precedenza maggiore al php non sarà visto se non unicamente dal php.

    Intestazioni/Header CloudFlare https://developers.cloudflare.com/fu...quest-headers/
    Ultima modifica di darbula : 27-05-2022 alle ore 13.43.29

  4. #4
    gpdv non è connesso Neofita
    Data registrazione
    07-02-2013
    Messaggi
    3

    Predefinito

    Grazie mille per l'interessamento ma non funziona nemmeno in questa forma.

    Comunque, una curiosita': i cambiamenti di .htaccess sono tutti istatanei? Chiedo questo perche' alcuni utenti sottolineano che debbano passare diversi minuti prima di vedere le conseguenze delle modifiche ma, quando metto in manutenzione, purtroppo anche per il mio ip), risultano immediate.

  5. #5
    gpdv non è connesso Neofita
    Data registrazione
    07-02-2013
    Messaggi
    3

    Predefinito

    Provo a disattivare CloudFlare per vederne l'effetto. Ovviamente solo temporaneamente vista la sua utilita'. Nel frattempo (dice che per la disattivazione possono passare circa 24 ore), volevo essere sicuro di aver capito bene. A parte le modifiche sul server Apache, se ho capito bene esiste del codice php che permette di aggirare il problema? E' corretto? E se esiste hai modo di indicarmi dove potrei trovarlo?
    Grazie

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,179

    Predefinito

    Citazione Originalmente inviato da gpdv Visualizza messaggio
    i cambiamenti di .htaccess sono tutti istatanei?
    No, a volte l'applicazione delle regole .htaccess richiede un po' di tempo.


    Citazione Originalmente inviato da gpdv Visualizza messaggio
    Ovviamente solo temporaneamente vista la sua utilita'.
    Per cosa ti è utile precisamente?



    Citazione Originalmente inviato da gpdv Visualizza messaggio
    se ho capito bene esiste del codice php che permette di aggirare il problema? E' corretto? E se esiste hai modo di indicarmi dove potrei trovarlo?
    In generale, puoi ricavare l'indirizzo IP di un visitatore con: $_SERVER['REMOTE_ADDR'].

    Se utilizzi CloudFlare, puoi conoscere l'IP del visitatore ad esempio come spiegato qui.

    Quindi, per fare quel che desideri, potresti fare una cosa del tipo:
    Codice PHP:
    <?php
    /*se esiste l'IP comunicato da CloudFlare*/
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
    $ip = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
    else
    //Altrimenti, lo leggo come prassi da PHP
    {
    $ip = $_SERVER['REMOTE_ADDR'];
    }

    /*se l'IP non è il tuo*/
    if($ip != '111.222.333.444')
    {

    /*rimando l'utente alla pagina /maintenance/index.html */
    header('Location: ./maintenance/');

    /*termino per sicurezza l'esecuzione della pagina*/
    die();
    }
    ?>
    Il codice è un "rudimento" per spiegare una possibile implementazione, come tutti i codici puoi personalizzarlo come desideri. Ad esempio puoi impostare una lista di IP "consentiti" utilizzando in_array() e dichiarando un array con gli IP consentiti.

    Ovviamente, questo codice va inserito all'inizio della pagina PHP. Se non hai pagine PHP, puoi abilitare l'interprete PHP anche in pagine .html aggiungendo al file .htaccess la direttiva:
    Codice:
    AddHandler av-php73 .html
    Ciao!
    Ultima modifica di alemoppo : 27-05-2022 alle ore 20.38.14

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •