Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcje w osobnym pliku php + include
Forum PHP.pl > Forum > PHP
patrix007
Sprawa wygląda tak, mam plik func.php a w nim funkcje, do których odwołuję się z innych plików php (za pomocą include) w ramach jednego projektu.
Chodzi mi o to czy można w jakiś sposób zabezpieczyć plik func.php przed próbami hackingu - chodzi mianowicie o to aby ktoś obcy nie mógł go includować do swoich niszczących skryptów poza moim projektem/domeną np. w formie
  1. include('http://www.adres.domena/katalog/func.php');

i testować funkcji, wszak jest chyba możliwe poznanie przez obcą osobę nazwy/adresu pliku z funkcjami jak i nazw samych funkcji, czy też samych parametrów ? Ta możliwość wykracza ciut poza moją wyobraźnię o metodach na takie sprawy dlatego się pytam.

90% moich funkcji do działania potrzebuje na raz identyfikatora, identyfikatora sesji a także w koniecznych przypadkach dodatkowego hasha lub hasła dostępu, są zabezpieczone przed sql injection etc. nawet po wpisaniu błędnych danych nic się nie sypie więc ciężko wyczaić co i jak lecz nie wszystkie funkcje mam tak pozabezpieczane (np. bez id sesji bo w pewnym momencie id sesji nie jest potrzebny) bo nie ma potrzeby/nie jest wymagane ale mimo to nie chciałbym aby mi ktoś coś próbował szperać nawet jakby miał dostać w wyniku nic nieznaczący ochłap.

Może jakaś sztuczka w samym pliku z funkcjami ?

Dzięki za wskazówki smile.gif
kilab
PHP jest parsowany po stronie serwera. Jeśli plik nie zwraca żadnej treści, po uruchomieniu go pojawi się tylko biała strona. Zresztą funkcja include dołącza tylko pliki lokalne. Jeśli zależy Ci na kosmicznym bezpieczeństwie możesz wziąć całą zawartość pliku w warunek i sprawdzić, czy referer pochodzi z domeny, czy lokalnie i dopuścić do funkcji. W przeciwnym razie odmówić dostęp. Powinno działać tongue.gif
CuteOne
Troszkę nie na temat ale może Ci się przydać. Zabezpieczenie przeciwko 'oglądaniu' pliku poprzez bezpośrednie jego wywołanie np. www.moja_strona.pl/inlcude/func.php

w pliku, który includuje pozostałe skrypty (np w index.php) wstaw:
  1. define('moja_strona',true);


w każdym pliku, który jest includowany wstaw:
  1. if(!defined('moja_strona) || !moja_strona) die('Include error...');


Proste i skuteczne smile.gif
thek
Poza tym zawsze jest jeszcze htaccess i deny winksmiley.jpg
patrix007
Dzięki za pomysły yahoo.gif
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.