![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Chciałym aby do includowanych plików nie można było dostać się bezpośrednio. Tylko i wyłacznie ze strony głównej.
Czy takie rozwiązanie nie będzie 'dziurą' w systemie? W sensie czy jest bezpieczne? glowna.php
users.php
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pliki które dołączasz w ten sposób umieść w katalogu np. includes a w nim umieść plik .htaccess "deny from all" - wtedy będzie bezpiecznie.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wrzuc poprostu pliki includowane do katalogu, który nie jest dostepny przez przeglądarke i juz.
Od biedy do katalogu wrzuc plik .htaccess, ktory zabroni dostep do tego katalogu o tresci: Kod order deny,allow
deny from all -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 340 Pomógł: 46 Dołączył: 31.07.2009 Skąd: A Ostrzeżenie: (0%) ![]() ![]() |
pytanie czy plik users.php jest plikiem "includowanym" czy plikiem który ma obsłużyć request z ajaxa?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
tym i tym
dokłądnie to działa jak przykłąd w 1szym poście |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To sie zdecyduj: albo ma byc dostep do pliku z przegladarki albo nie. Bo w tej chwili raz chcesz miec dostep a za chwile nie...
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Chce aby był dostęp przez ajaxa. Nie chce aby bezpośrednio użytkownik wszedł wpisując w pasek adresu.
Czyli Do pliku głównego userpanel.php są includowane pliki na których wykonuje operacje przesyłając ajaxem. Includuje np users.php. I chce aby do users.php użytkownik miał dostęp z poziomu userpanel a nie bezpośrednio wchodząc na users.php Moje rozwiazanie ze sprawdzaniem wartości zmiennej sprasza się. Ale nie wiem czy jest poprawne (bezpieczne) Chyba ze jakoś inaczej mogę to rozwiązać ? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Chce aby był dostęp przez ajaxa. Nie chce aby bezpośrednio użytkownik wszedł wpisując w pasek adresu. Jeśli korzystasz np. z jQuery czy innej biblioteki wysyłającej odpowiedni nagłówek, wówczasz możesz poszukac nagłówka X-Requested-With: http://stackoverflow.com/questions/4301150...a-ajax-with-php Do pliku głównego userpanel.php są includowane pliki na których wykonuje operacje przesyłając ajaxem. Includuje np users.php. I chce aby do users.php użytkownik miał dostęp z poziomu userpanel a nie bezpośrednio wchodząc na users.php W pliku głównym userpanel zadeklaruj stałą np. ACCESS, a w users.php sprawdzaj czy stała jest zdefiniowana (defined). Jeśli nie - zakończ dalsze wykonywanie skryptu. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat W pliku głównym userpanel zadeklaruj stałą np. ACCESS, a w users.php sprawdzaj czy stała jest zdefiniowana (defined). Jeśli nie - zakończ dalsze wykonywanie skryptu. Ale wowczas nie bedzie mial dostepu z ajaxa, bo tam odwoluje sie bezposrednio do users.php. @kamilo818 Twoje próby "zabezpieczenia" nie maja żadnego sensu... Skoro skrypt jest dostepny dla ajaxa, to jest dostepny dla całej przegladarki i juz. Co ci szkodzi, ze ktos go wywoła bezposrednio z paska przegladarki? No nic to nie szkodzi. Od biedy mozesz patrzec na te naglowki co wspomniał o nich phpion, ale to tak czy siak niczemu nie sluzy takie "zabezpieczenie" -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 58 Dołączył: 14.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chcesz żeby był dostęp przez AJAX, to możesz tylko utrudniać bezpośrednie wejście, tak jak to robisz przez tą zmienną. Możesz też sprawdzać referer, ale to wszystko da się ominąć. Po co właściwie chcesz to zabezpieczać?
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Ale wowczas nie bedzie mial dostepu z ajaxa, bo tam odwoluje sie bezposrednio do users.php. No to OR: jeśli jest to ajax LUB zadeklarowano stałą to wpuść. W przeciwnym wypadku - zakończ działanie skryptu. Co do skuteczności zabezpieczenia patrząc na nagłówki to się zgadzam - nie jest to pewne. Jednak w większości przypadków typowych użytkowników to zadziała. Pytanie tylko, czy ci typowi użytkownicy będą tak kombinować ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@phpion ale tu nie chodzi o "pewnosc zabezpieczenia" ale o jego zasadnosc, która jest zerowa. Co komu da, ze bedzie mozna tam wejsc tylko ajaxem? No nic.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Już wyjaśniam moje założenie(może błedne)
Po poprawnym zalogowaniu mam dostęp do userpanel.php w user panel sprawdzam czy mam dostęp(czy jestem zalgoowany)
w userpanel.php includuje pliki. Dlatego chciałem żeby nie można wejść bezpośrednio includowanych plików, żeby użytkownik nie zalogowany nie miał do nich dostępu. Tak teraz myślę, że moze po prostu w includowanych plikach też sprawdzać czy jest user zalogowany tak jak w userpanel.php |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Masz bledne zalozenia.
Pliki, ktore mają nie byc dostepne przez przegladarke, w tym i AJAX, mają leżec w katalogu niedostepnym dla przegladarki. Pisalem ci juz o tym. Jesli masz akcje logowania, to ona z ajaxa ma nie byc bezposrednio dostepna jako users.php, tylko ma przechodzic nadal przez Twoj główny skrypt, który to dopiero includuje users.php. Wowczas pilnowanie praw masz tylko w jednym pliku, a wszystkie inne są niedostepne przez przegladarke i ajax. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ok.
Ale skoro users bedzie w katalogu niedostępnym, ale ajaxem bede chciał działać na tym pliku to dostep bedzie zabroniony. Przeciez nie mogę przez nadrzędny plik userpanel działać na users bez dostepu do niego? Aktualnie struktura moich plików wyglada tak: root:
ajax jest w pliku users.php Ten post edytował kamilo818 29.01.2015, 10:24:07 |
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to ci wlasnie mowie:
ma byc jeden plik ogolny, ktory bedzie includowal pliki odpowiedzialen za daną akcje. Ty zawsze masz odpalac ten plik ogolny z parametrem bedącym nazwą akcji, ktora cie interesuje. Na podstawie tego parametru, plik ogolny zaincluduje wlasciwy plik. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdz czy dobrze rozumiem:
plik users.php i ajax.js w nieodstpenym katalogu userpanel.php - głowny plik (normalnie dostpeny) W users.php (z 'includem' ajax.js) mam listę uzytkowników. Jesli chcę wykonać na niej akcję np usunac rekord z bazy, to po kliknięciu 'usun' ajax przesyła żądanie do userplanel.php który usuwa rekord i po tym includuje jeszcze raz users.php Czy tak? Ten post edytował kamilo818 29.01.2015, 12:12:52 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
pliki .js mają byc w dostepnym katalogu. No niby jak je przeglądarka załaduje?
Chyba ze ajax.js jest zwykly js ktory normalnie jako tekst includujesz na strone. Cytat , to po kliknięciu 'usun' ajax przesyła żądanie do userplanel.php który usówa rekord i po tym includuje jeszcze raz users.php Mniej wiecej. Ale glowy nie dam sobie uciac bo nie wiem jakie ty tam masz dokladnie te kody.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wszytkim za pomoc.
Sam nie wiem jak ale udało mi się wszystkie pliki wrzućić do niedostępnego koatlogu oprócz index w którym mam jakby routing i w zależnści od parapetru includuje pliki. Nawet jak wwysłam ajaxem do pliku który jest w niedostepnym katalogu to śmiga. Podaje tylko parametr do routingu i wsio.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.05.2025 - 08:43 |