ciao
riassumiamo.
tu hai una pagina, chiamamola prima.asp (penso che sia asp)
in questa hai un link che "dovrebbe" rimandare alla pag paginalogin.aspx, dico dovrebbe perche il link non punta a lei direttamente, ma ad una pagina
(chiamamola transito.php) in cui rimanda in funzione dell'orario:
- se orario giusto reindirizza a paginalogin.aspx
- se orario sballato a paginachiusura.aspx (sin qui ci siamo? mi sembrava di si)
ora tu vuoi proteggere la pagina paginalogin.aspx dalla possibilità che qualche utente vi acceda negli orari non permessi digitando nel browser l'indirizzo assoluto
ora quel codice che ti ho inviato per ultimo fa proprio quello cioè se clicchi sul link di prima.asp nella variabile $provenienza dovresti trovare il valore
"prima.asp" se non è quel valore la pagina (cioè il codice per loggarsi che presumo sia un form in cui inserire password e username) non si visualizza, ma si viene reindirizzati da altra parte.
il problema è che il codice che ti ho inviato
DEVE essere interno a paginachiusura.aspx, per quello dicevo di tradurlo in asp.
in pratica devi fare un copia/incolla di tutta la pag asp e inserirla tra else{ e l'ultima } es.:
Codice:
<%
$proviene=basename($_SERVER['HTTP_REFERER']);
if($proviene !="prima.asp"){//se diverso da prima.asp reindirizza
header('refresh:0;url=../cartella/paginachiusura.aspx');
}else{// altrimenti mostra il log
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>pag di log</title>
<!-- ....... -->
</head>
<body>
<!-- e tutto il restante html e/o codice asp della pagina -->
</body>
</html>
<%
}
%>
come vedi ho messo solo i tag di asp, il codice è php (anche se penso che in quasto caso sia abbastanza simile).
per proteggerla non puoi fare qualcosa di esterno tipo la pagina che reindirizza in funzione all'orario