Blocco pagine dirette

_LAIL_

Utente Attivo
19 Set 2013
57
0
6
Salve a tutti ho bisogno della vostra grande conoscenza (sono una nabba in queste cose).

Gironzolando un po in rete e leggendo un po di guide sono riuscita a mettere insieme questa pagina raccimomando pezzi di codice.

In pratica il sistemino funziona per metà se la pagina e errata mi dice che non posso accedere e mi rimanda alla pagina da me indicata
se invece la pagina e esatta non mi visualizza il resto della pagina dove sbaglio??

PHP:
<?php if(empty($_SERVER['HTTP_REFERER'])) { 
 if($_SERVER['HTTP_REFERER'] != 'http://miosito/pagina1.php' || $_SERVER['HTTP_REFERER'] != 'http://miosito/pagina2.php'){  

echo "Non puoi accedere direttamente alla pagina
<meta http-equiv='refresh' content='5; miosito/index.php'>";  




} else { 

if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['elimina'])) {
    $check = $_POST['check'];
    foreach ($check as $delete) {
        if (unlink("slideshow/" . $delete)) {
            echo "File cancellati: " . $delete;
            header('location: galleria.php');
        } else {
            echo 'Errore';
        }
    }
}

?>


<br><br><br>
  
        <table>
            <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
                <?php
                $dirname = "slideshow";
                $images = scandir($dirname);
                sort($images);
                foreach ($images as $file) {
                    if ((substr($file, -5) == ".jpeg") || (substr($file, -4) ==
".jpg") || (substr($file, -5) == ".JPEG") || (substr($file, -4) == ".JPG") ||
(substr($file, -4) == ".png")) {
                        echo <<<HTML
                  <tr>
                    <td>
                        <input type="checkbox" name="check[]" value="$file" />
                    </td>
                    <td><font color="#000000"><br>
					$file <br><p align="center"></p><br>
                        <img src="slideshow/$file" alt="" oncontextmenu="return
false;" style="border: 1px solid black;" />
                    </font> </td>
                 </tr>
HTML;
                    }
                }
	
                ?>
			<tr>
               	<br>
                    <td>
                        <input type="submit" value="Elimina" name="elimina" />
                    </td>
                </tr>
            </form>
        </table>
    </body>
</html>
 <?php
	    }
}		
?>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, la tua prima istruzione
PHP:
if (empty($_SERVER['HTTP_REFERER'])) {
vuol dire " se la variabile $_SERVER['HTTP_REFERER'] è vuota vai avanti
per questo quando non è vuota non fa niente
Io la toglierei direttamente
 

_LAIL_

Utente Attivo
19 Set 2013
57
0
6
Ciao criric grazie per la risposta ma nn ho capito scusami ma sono alquanto ebete sulla questione il mio problema e che anche arrivando dalla pagina esatta non mi apre la pagina cioe non mi legge il codice:( .
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Non ti legge il codice perchè non supera la condizione che ti ho indicato
elimina tutta la riga e anche la corrispondente parentesi } di chiusura
 

_LAIL_

Utente Attivo
19 Set 2013
57
0
6
Adesso in entrambe i casi mi dice che non posso accedere


PHP:
<?php   
 if($_SERVER['HTTP_REFERER'] != 'http://miosito/pagina1.php' || $_SERVER['HTTP_REFERER'] != 'http://miosito/pagina2.php'){  

echo "Non puoi accedere direttamente alla pagina
<meta http-equiv='refresh' content='5; miosito.it/index.php'>";  




} else { 

if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['elimina'])) {
    $check = $_POST['check'];
    foreach ($check as $delete) {
        if (unlink("slideshow/" . $delete)) {
            echo "File cancellati: " . $delete;
            header('location: galleria.php');
        } else {
            echo 'Errore';
        }
    }
}

?>


<br><br><br>
  
        <table>
            <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
                <?php
                $dirname = "slideshow";
                $images = scandir($dirname);
                sort($images);
                foreach ($images as $file) {
                    if ((substr($file, -5) == ".jpeg") || (substr($file, -4) ==
".jpg") || (substr($file, -5) == ".JPEG") || (substr($file, -4) == ".JPG") ||
(substr($file, -4) == ".png")) {
                        echo <<<HTML
                  <tr>
                    <td>
                        <input type="checkbox" name="check[]" value="$file" />
                    </td>
                    <td><font color="#000000"><br>
					$file <br><p align="center"></p><br>
                        <img src="slideshow/$file" alt="" oncontextmenu="return
false;" style="border: 1px solid black;" />
                    </font> </td>
                 </tr>
HTML;
                    }
                }	
                ?>
			<tr>
               	<br>
                    <td>
                        <input type="submit" value="Elimina" name="elimina" />
                    </td>
                </tr>
            </form>
        </table>
    </body>
</html>
 <?php 
	 }
	 ?>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ora nella prima condizione
PHP:
 if($_SERVER['HTTP_REFERER'] != 'http://miosito/pagina1.php' || $_SERVER['HTTP_REFERER'] != 'http://miosito/pagina2.php'){
cambia
Codice:
||
con
Codice:
&&
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
A me funziona, beh passato il controllo non funziona più niente però la if funziona
Sicura degli indirizzi?
prova a mettere un var dump del referer e vedi se ti stamp quello che ti aspetti
PHP:
var_dump($_SERVER['HTTP_REFERER']);
 if($_SERVER['HTTP_REFERER'] != 'http://miosito/pagina1.php' && $_SERVER['HTTP_REFERER'] != 'http://miosito/pagina2.php'){
 

_LAIL_

Utente Attivo
19 Set 2013
57
0
6
Perfetto funziona era un errore nel url. :)))


Grazie sei stato gentilissimo e questo e un bel forum leggo molte cose qui.



mi daresti ancora un piccolo aiutino??


PHP:
<meta http-equiv='refresh' content='5; miosito.net/prova/index.php'>


quando fa il refresh mom prende questo miosito.net/prova/index.php

ma aggiunge il percorso del file iniziale sono in diversi punti i file come faccio a dargli un percorso assoluto senza che lui aggiunga altro??
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Non credo di aver capito, cmq, se inizi il percorso con lo slash / parte dalla root del tuo sito
<meta http-equiv='refresh' content='5; /index.php'>
 

_LAIL_

Utente Attivo
19 Set 2013
57
0
6
in pratica il file con il codice e in una root miosito.it/root1/file.php

mentre il refresh lo deve fare in miosito.it/root2/file.php



ora quando fa il refresh viene fuori cosi root1/miosito.it/root2/file.php

aggiunge il percorso del file.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ok allora avevo capito
metti lo slash all'inizio
Codice:
<meta http-equiv='refresh' content='5; /root2/file.php'>
 
Discussioni simili
Autore Titolo Forum Risposte Data
Elisacau Blocco aggiornamento pagine WordPress 1
robyhh Blocco apertura pagine PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
V Blocco inviti a gruppo facebook Social Media Marketing 0
seranto Blocco preventivo e Registro dei Consensi per Cookie tecnici? Leggi, Normative e Fisco 2
C Aggiungere blocco dati Javascript 6
B Problema Instagram: Blocco Account Discussioni Varie 0
O cookie e blocco preventivo Leggi, Normative e Fisco 0
P [MySQL] Blocco utenze MySQL 0
M [PHP] blocco tor PHP 7
giancarlob Prova a rimandare o a caricare in modo asincrono le risorse di blocco SEO e Posizionamento 0
trattorino [Javascript] Blocco div in base all'altezza Javascript 1
trattorino [PHP] blocco codice su una piattaforma PHP 3
A [PHP] Blocco mail spam con regex PHP 2
O [PHP] Cookie law e blocco preventivo PHP 21
Fuego2806 [HTML] "Blocco Note" HTML e CSS 9
A Blocco note privato Leggi, Normative e Fisco 0
F Strani referrers: cosa sono? Come li blocco? HTML e CSS 7
felino Computer Desktop: blocco continuo...problema scheda video? Hardware 3
S Blocco script Javascript 8
S Access 2007 blocco visualizza riquadro MS Access 0
S Blocco campo per condizione vera MS Access 4
D Assegnazione blocco statico a specifica categoria Magento 0
S zencart 151 - blocco checkout min0 unit 0 CMS (Content Management System) 0
H Problema blocco div in rilievo jQuery 3
dvdscr Blocco database a seguito della pubblicazione di un post sulla webapp MySQL 3
P Blocco inserimento valori con script attiva/disattiva oggetti form Javascript 5
M [Vendo] Blocco 2 siti web premium Compravendita siti e domini 0
A impostare la posizione iniziale di un blocco Javascript 0
T Eludere blocco popup Javascript 0
M Blocco Antispam Su form PHP 6
A Blocco Pc durante video Hardware 1
C Non mi si vede un blocco HTML e CSS 2
S query database e blocco utente PHP 0
L Blocco if | Condizione sul colore Javascript 0
D Menu con Stato Corrente e Blocco Link PHP 2
M [Firewall] Kaspersky 2010: rimuovere blocco applicazione Sicurezza e Virus 2
T Problema blocco popup con Internet Explorer Windows e Software 3
A sbloccare blocco active x Webdesign e Grafica 0
A Internet Explorer e blocco Javascript Javascript 0
A html - problema blocco note su vista HTML e CSS 3
T problema di blocco del sistema Windows e Software 17
C [VENDO] 1 Blocco di 10 Articoli Informatica Offerte e Richieste di Lavoro e/o Collaborazione 1
M [HTML/JAVASCRIPT] Problema Blocco Menù HTML e CSS 0
T Inserimento adsense in un blocco per mkportal Google AdSense 3
A Blocco php in Ajax Ajax 1
M blocco controllo activex Javascript 3
A Blocco IP Classic ASP 20
N Svendita domini in blocco Compravendita siti e domini 3
D Catturare Un Blocco Di Testo Da Un'altra Pagina PHP 2

Discussioni simili