Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blokowanie wejscia na strone...
Forum PHP.pl > Forum > PHP
_XoR_
Pyatnie 1.
Mam stornke powitalna o nazwie index.php i stornke wlowna o nazwie index1.php. Jak i co zrobic, zeby dostep do stornki glownej (index1.php) byl mozliwy TYLKO I WYLACZNIE ze stronki powitalnej (index.php)?

Pytanie 2.
Ktos przeglada moja stronke i sie loguje na niej. Tworzona jest sesja z jego user_id. Nie wylaczajac przegladarki i nie wylogowujac sie, koles wpisuje w przegladarce inny adres www (opuszcza moja strone). - ale sesja nadal istnieje. Czy jest mozliwosc, aby w takiej sytuacji jak opisalem wyzej zlikwidowac sesje?questionmark.gif
rzseattle
ad1

uzywasz

[php:1:42f0e4d63e]<?php

if( $_SERVER['REQUEST_URI'] != 'strona z ktorej ma przyjsc' ){
print 'tajk nie wejdziesz';
exit;
}

?>[/php:1:42f0e4d63e]
delorian
Cytat
Pyatnie 1.
Mam stornke powitalna o nazwie index.php i stornke wlowna o nazwie index1.php. Jak i co zrobic, zeby dostep do stornki glownej (index1.php) byl mozliwy TYLKO I WYLACZNIE ze stronki powitalnej (index.php)?


Z prostszych rozwiązań możesz sprawdzić w manualu zmienną REQUEST_URI - jeśli w podanym ciągu wystąpi index1.php to przekieruj na index.php. Inny sposób... gdyby np. na stronie index.php tworzona byłaby zmienna sesyjna - unikatowa dla danego wejścia np. losowy ciąg znaków pomieszany z aktualnym czasem etc. etc. zapisana gdzieś na pliku na serwerze (server-side-cookie biggrin.gif) oraz jako zmienna sesji. Plik na serwerze to jednak nie ten sam plik, w którym są zapisane zmienne sesji tylko jakiś niezależny - a następnie w index1.php sprawdzałbyś czy te wartości wogóle istnieją i czy ta wartość z pliku i zmienna sesyjna zgadzają się. Ale zapewne jest prostszy sposób.

Cytat
Pytanie 2.
Ktos przeglada moja stronke i sie loguje na niej. Tworzona jest sesja z jego user_id. Nie wylaczajac przegladarki i nie wylogowujac sie, koles wpisuje w przegladarce inny adres www (opuszcza moja strone). - ale sesja nadal istnieje. Czy jest mozliwosc, aby w takiej sytuacji jak opisalem wyzej zlikwidowac sesje?questionmark.gif


Nie wiem czy to coś da, ale może będziesz mógł użyć akcji JScriptu onUnload - dzięki, której mógłbyś usunąć ciastko sesji.
adwol
Cytat
Pyatnie 1.
Mam stornke powitalna o nazwie index.php i stornke wlowna o nazwie index1.php. Jak i co zrobic, zeby dostep do stornki glownej (index1.php) byl mozliwy TYLKO I WYLACZNIE ze stronki powitalnej (index.php)?

http://forum.php.pl/viewtopic.php?t=5140
Cytat
Pytanie 2.
Ktos przeglada moja stronke i sie loguje na niej. Tworzona jest sesja z jego user_id. Nie wylaczajac przegladarki i nie wylogowujac sie, koles wpisuje w przegladarce inny adres www (opuszcza moja strone). - ale sesja nadal istnieje. Czy jest mozliwosc, aby w takiej sytuacji jak opisalem wyzej zlikwidowac sesje?questionmark.gif

W PHPie nie. Być może da się to zrobić w JS.
adwol
Cytat
ad1

uzywasz

[php:1:37b293c643]<?php

if( $_SERVER['REQUEST_URI'] != 'strona z ktorej ma przyjsc' ){
print 'tajk nie wejdziesz';
exit;
}

?>[/php:1:37b293c643]

REQUEST_URIquestionmark.gif? A co to ma do rzeczy? Przecież ta zmienna określa bieżące URI, a nie strony na której był link do bieżącej. Chyba chodziło Ci o HTTP_REFERER?
rzseattle
sorki za pomylke :oops: :oops: niewiem dlaczego mi nagle sie pozamienialo
sam od n czasu uzywam
Kod
<a href="{$smarty.server.HTTP_REFERER}"> << </a>

a tu taki byk
spenalzo
Jak dla mnie pewniejszym rozwiązaniem byłoby takie coś:

index.php
[php:1:e31a752447]<?php
session_start();
$_SESSION["ref"]="index";
?>[/php:1:e31a752447]

index1.php
[php:1:e31a752447]<?php
session_start();
if($_SESSION["ref"]!="index")
{
unset($_SESSION["ref"]);
die("Pa!");
}
?>[/php:1:e31a752447]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.