Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Ochrona dołączanych skryptów, modułów php, Jak prosto i wygodnie zabezpieczyć przed bezpośrednim wywołaniem?
Wujashek
post 16.02.2007, 14:47:41
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 12.02.2007

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


Ponieważ trzymanie wszystkich klas i modułów w jednym pliku nie jest najlepszym pomysłem zwykle dzieli się je na pliki klas, layoutu etc..

I tu pojawia się pytanie:

Jak zabezpieczyć takie pliki przed wywołaniem bezpośrednim np domena/moduły/news.mod.php ?
jakieś triki z .htaccess ?

Mam to niezbyt elegancko zrobione:

  1. <?php
  2. if(isset($protect))
  3. if($prot->showPage){
  4. // kod modułu
  5. }
  6. ?>


Pytam z czystej ciekawości, nie wydaję mi się żeby miało to jakieś kluczowe znaczenie dla bezpieczeństwa ( może się myle )
W najgorszym wypadku wywołanie skończy się błędem...


--------------------
Szukam programistów PHP/Symfony
warsztat: PHP5, MySQL, Eclipse, Apache, Symfony, Trac, SVN

michalwujas.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
liso
post 16.02.2007, 16:57:26
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.01.2007
Skąd: Kraków

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


możesz poprostu zrobić tak:
  1. <?php
  2. if (eregi('news.mod.php', $PHP_SELF)) {
  3. //przekierowanie
  4. }
  5. ?>
Go to the top of the page
+Quote Post
kwiateusz
post 16.02.2007, 17:28:42
Post #3


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




albo jak to w wiekszosci skryptow ktore widzialem definiuje sie stałą w indeksie a nastepnie sprawdza sie ja w kazdym pliku
Go to the top of the page
+Quote Post
Wujashek
post 16.02.2007, 21:35:23
Post #4





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 12.02.2007

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


Więc spróbuje z tą stałą
To chyba faktycznie najprostsze rozwiązanie.
Dziękuję za pomoc.


--------------------
Szukam programistów PHP/Symfony
warsztat: PHP5, MySQL, Eclipse, Apache, Symfony, Trac, SVN

michalwujas.pl
Go to the top of the page
+Quote Post
dr_bonzo
post 16.02.2007, 22:01:47
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Jak masz w plikach tylko definicje klas lub funkcji to mie masz sie czego obawiac.

Co do kodu:

  1. <?php
  2. if(isset($protect))
  3. if($prot->showPage){
  4. // kod modułu
  5. }
  6. ?>

Juz lepiej dac exit gdy warunek nie jest spelniony. Pozbywasz sie jednego poziomu zagniezdzenia.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Wujashek
post 17.02.2007, 15:58:46
Post #6





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 12.02.2007

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


mam die()...


--------------------
Szukam programistów PHP/Symfony
warsztat: PHP5, MySQL, Eclipse, Apache, Symfony, Trac, SVN

michalwujas.pl
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 19:53