Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 28.09.2008 Ostrzeżenie: (0%)
|
Witam.
Ostatnio zainteresowałem sie zabezpieczeniem przed bezpośrednim wejściem do pliku, żeby np. uniknąć złego wyświetlenia, lub pokazania informacji które nie powinny być wyświetlone bezpośrednio użytkownikom, lub osobno bez wyświetlenia poprzez tzw. Plik-baze. W moim pliku bazie jest wszystko załączane za pomocą iframów, i mam taki problem że jeśli zdefiniuje stałą na początku pliku-bazy np.: Kod define('IN_GMAS_PHP', true); I użyje w każdym pliku wczytywanym np. do ramki lokalnej: Kod <iframe name="serwis" id="glowna_ramka" src="serwis_GMAS.html" width="901" height="1011" frameborder="0"></iframe> Takiego kodu sprawdzającego czy stała została zdefiniowana: Kod <?php ob_start(); if (!defined('IN_GMAS_PHP')) { header('HTTP/1.1 301 Moved Permanently'); header('Location: http://'.$_SERVER['HTTP_HOST'].'/'); exit(); } ob_end_flush(); ?> To nawet i tak rozpoznaje że nie;/ i już nawet wiem w czym jest problem bo jeśli załącze zwykłym include lub require ten plik lub w pliku zdefiniuje stałą to to działa idealnie więc problem ejst w tym że pliki są wczytywane w pliku-bazie poprzez ramki lokalne, lecz ja z tego sposobu wczytywania przy tworzeniu pewnej strony nei moge zrezygnować;/ Wiadomo że można by też stowrzyć zmienną i posłużyć sie metodą $_GET lecz to nie gra roli bo nawet najgłupszy i najgorszy haker będzie potrafił odpowiednio przypisać wartość i zmienną po zauważeniu nazwy zmiennej i wartości jaką musi mieć. Za pomocą sesji też odpada ponieważ sesyjna jest zapamiętywana aż do końca sesji, więc jak ktoś otworzy podstrone w nowej karcie to i tak mu sie wyświetli jeśli bedzie zabezpieczone takim sposobem. Więc może ktoś by znał jakiś sposób ze stałą i żeby w tym przypaku działał jak należy lub znał inny równie dobry sposób zabezpieczający przed bezpośrednim wejściem i działający w takim przypadku? PS. używając określenia "pliku-bazie" nie mam na myśli bazy danych tekstowej na ftp tylko plik zwykły w którym jest kod php i html i js itd. i w nim są różne pliki załączane funkcjami require i include a także iframe Ten post edytował FANGTA 28.09.2008, 20:04:48 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 28.09.2008 Ostrzeżenie: (0%)
|
hmm ... Może po prostu sprawdzaj adres jaki jest wpisany, zapoznaj się z tablicą $_SERVER (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Rozumiem że nie chcesz aby ktoś mógł sam otworzyć okno podrzędne? Tylko index.php aby mógł wyświetlać inne pliki php i html ja tak zrozumiałem twój problem tak dokładnie o to chodzi że w każdym pliku któy jest wczytywany do indexu jest sprawdzenie odpowiednie czy stała jest zdefiniowana(a definiowana jest tylko w index.php) Nie da się tak zrobić - jak chcesz wymusić, czy ja otworzę sobie stronę w tym samym oknie czy w nowym? To jest całkowicie po stronie użytkownika. Tu nie chodzi o okno tylko o ramki lokalne i to co sie do nich wczytuje mogło być uruchonmione tylko w tej ramce lokalnej i nie bez niej ani sama ramka bez pliku głównego, i to nie można tylko po stronie użytkownika chociaż ciekawy pomysł i thx za podpowiedź może w tym sposobie bede mógł zastąpić sprawdzenie czy stała jest zdefiniowana jakimś działaniem po stronie użytkownika:) A co do tego w php to dam odsyłacz do tutka o tym: http://webmade.org/porady/zabezpieczenie-skryptu-php.php i ja robie coś w tym rodzaju tylko problem napotykam jeśli to sprawdzenie czy stałą zdefiniowana dodam w ramke lokalną, a stała jest zdefiniowana nie w ramce lokalnej(ponieważ nie ma sensu definiować stałej zaraz przed sprawdzeniem bo zawsze będzie że tak;]) |
|
|
|
FANGTA Zabezpieczenie przed bezpośrednim wejściem(problem) 28.09.2008, 19:12:05
michalkjp Hmmm...
"W moim pliku bazie jest wszystk... 28.09.2008, 19:34:27
FANGTA "Hmmm...
"W moim pliku bazie jest w... 28.09.2008, 20:00:02
Pilsener Cytatnp. uniknąć złego wyświetlenia, lub pokazania... 29.09.2008, 08:26:58
mecenas Pilsener ma rację. Przemyślany system autoryzacji ... 29.09.2008, 10:01:25
FANGTA eh coś mi sie zdaje że źle zrozumieliście mój prob... 29.09.2008, 12:11:24
misiek172 hmm ...
Może po prostu sprawdzaj adres jaki jest ... 29.09.2008, 14:07:11
Pilsener Nie da się tak zrobić - jak chcesz wymusić, czy ja... 30.09.2008, 08:15:18 ![]() ![]() |
|
Aktualny czas: 30.11.2025 - 01:53 |