Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zabezpieczenie plikow .php
Grimor
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 27.02.2007

Ostrzeżenie: (0%)
-----


Witam, otóż napisałem skrypt logowania który przekierowuje osobę pod adres admin.php, tam znajdują się linki np admin.php?dzial=nazwadzialu, taki najprostszy sytem includowania plików. Jeśli zaś osoba nie jest zalogowana sprawdzanie czy istenieje sesja i przekierowuje go do pliku z logowaniem. Niestety działa to tylko przy wpisaniu linku w postaci admin.php?dzial=nazwadzialu. Gdy wejdę bezpośrednio w plik nazwadzialu.php plik sie normalnie otwiera i moge wykonać skrypt w nim zawarty. I tutaj rodzi się moje pytanie, czy istenieje sposób, który zabrania wykonywania skryptów poprzez bezpośrednie jego wywowalnie ? Wiem ze mogę tutaj w każdym pliku dodac sprawdzanie czy istenie sesja, chciałbym sie dowiedzieć czy istenie szybszy i bardzeij efektywny sposób.
Z góry dzięki za wszelką pomoc. Pozdrawiam.
Go to the top of the page
+Quote Post
Merko
post
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 1
Dołączył: 10.10.2007
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


W pliku nazwadzialu.php wpisz warunek logowania tzn if czy sesja istnieje np

Kod
if($_SESSION['login'] != ''){

//Treść pliku

}

else{

echo "<meta http-equiv=refresh content='0; url=index.php'>"; //przekierowanie

}


Ten post edytował Merko 5.04.2009, 16:54:20


--------------------
Chcesz mieć strone, sklep, portal, grę? Napisz do mnie może Tobie pomoge 
(cena do uzgodnienia :D)
TumS.pl

Go to the top of the page
+Quote Post
Lonas
post
Post #3





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


Tworzysz sobie plik ktory sprawdza czy odpowiednie dane sa w sesji i jego includujesz w kazdym pliku gdzie ma byc wykonane sprawdzenie


--------------------
Go to the top of the page
+Quote Post
TomASS
post
Post #4





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Lepiej zamiast tego:

  1. <?php
  2. echo "<meta http-equiv=refresh content='0; url=index.php'>"; //przekierowanie
  3. ?>

dać
  1. <?php
  2. header("Location: index.php");
  3. ?>


Cytat
Wiem ze mogę tutaj w każdym pliku dodac sprawdzanie czy istenie sesja, chciałbym sie dowiedzieć czy istenie szybszy i bardzeij efektywny sposób.

A co jest w tym złego i małoefektywnego? Jeden if....


--------------------
Go to the top of the page
+Quote Post
Merko
post
Post #5





Grupa: Zarejestrowani
Postów: 33
Pomógł: 1
Dołączył: 10.10.2007
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Albo jak koledzy mówią

Plik sprawdz.php:

Kod
if($_SESSION['login'] == ''){

header("Location: index.php"); //przekierowanie

exit();
}




plik nazwadzialu.php:

Kod
include "sprawdz.php";

ble ble ble tresc pliku

W tym przypadku zostanie urwany skrypt tam gdzie exit(); i przeładuje 

Ten post edytował Merko 5.04.2009, 16:58:34


--------------------
Chcesz mieć strone, sklep, portal, grę? Napisz do mnie może Tobie pomoge 
(cena do uzgodnienia :D)
TumS.pl

Go to the top of the page
+Quote Post
Grimor
post
Post #6





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 27.02.2007

Ostrzeżenie: (0%)
-----


Ok, przyzam się ze to z lenistwa zapytałem biggrin.gif Nie chciało mi się dodawać do każdego pliku tego fragmentu.
Mój kod wygląda następująco.
Kod
    if (!isset($_SESSION['logged'])) {
        header("location: index.php");
        }


Dzięki za wysztko.

Ten post edytował Grimor 5.04.2009, 16:59:25
Go to the top of the page
+Quote Post
Lonas
post
Post #7





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


Ale lepiej stworz sobie osobny plik i jego includuj bo potem w razie jakiejkolwiek zmiany robisz to w jednym pliku a nie w kazdym w ktorym jest sprawdzenie


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:59