Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z zabezpieczeniami
Forum PHP.pl > Forum > Przedszkole
dark_root
Mam pewną stronę. Jak zaloguję się na niej oczywiście na konto administratora i w url dopiszę do adresu np."/admin.php?adduser=asas" to przeniesie mnie od razu do panelu admina. Tak samo się stanie jeśli w innej zakładce wpisze cały adres do admina. Jednak jak próbuje tam przejść za pomocą curl
  1. <?php
  2. $hand = curl_init();
  3. curl_setopt($hand, CURLOPT_URL, 'http:/xxx.pl/admin.php?adduser=asas');
  4. curl_setopt ($ch, CURLOPT_REFERER, "http://xxx.pl/admin.php");
  5. curl_setopt($hand, CURLOPT_POST, 1);
  6. curl_setopt($hand, CURLOPT_POSTFIELDS, 'regus=kukulamuniu&reg=kukulamuniu&regem=aaaasl&regle=asq');
  7. curl_exec($hand);
  8. curl_close($hand);
  9. ?>
to wyskakuje, żebym się zalogował, pomimo, iż jestem zalogowany. Tak samo się dzieje jak próbuje użyć tego kodu
  1. <?php
  2. $tresc=file_get_contents("http:/xxx.pl/admin.php?adduser=asas");
  3. echo $tresc;
  4. ?>

Na jakiej zasadzie działa to zabezpieczenie i jak je obejść, żebym mógł się dostawać do panelu admina przez kod php?
bełdzio
dodaj do cURL obsługę cookies i wsio powinno byc ok
dark_root
  1. <?php
  2. $hand = curl_init();
  3. curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  4. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  5. curl_setopt($hand, CURLOPT_URL, 'http://xxx.pl/admin.php?mod=editusers&action=list');
  6. curl_setopt ($ch, CURLOPT_REFERER, "http://xxx.pl/admin.php");
  7. curl_setopt($hand, CURLOPT_POST, 1);
  8. curl_setopt($hand, CURLOPT_POSTFIELDS,
  9.  
  10. 'regusername=kukulamuniu&regpassword=kukulamuniu&regemail=aalal@o2.pl&reglevel=1');
  11. curl_exec($hand);
  12. curl_close($hand);
  13. ?>
Tak teraz wygląda kod. Jednak wyskakują takie błędy
Cytat
Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in /home/xxx/domains/xxx.pl/public_html/rubin.php on line 3

Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in /home/xxx/domains/xxx.pl/public_html/rubin.php on line 4

Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in /home/xxx/domains/xxx.pl/public_html/rubin.php on line 6

Czym to może być spowodowane?
leovandamon
Witam!

Moim zdaniem, musisz logować się ponownie dlatego, że przeglądarka posiada inny ID sesji niż cURL w PHP.
cURL działa jak osobna przeglądarka. file_get_contents() też.

Zgadzam się z bełdziem, dodaj obsługę ciastek, ale mimo wszystko i tak będziesz musiał się zalogować.

Pozdrawiam,
Leo van Damon
dark_root
A można jakoś zrobić, żeby za pomocą curl przejąć sesje z przeglądarki i użyć ją w kodzie? Istnieje inny sposób umożliwiając odtworzenie tej strony bez logowania tzn. jak użyje Kod PHP
  1. <?php
  2. <META HTTP-EQUIV="refresh" CONTENT="1; URL=http://xxx.pl/admin.php?mod=editusers&action=list">
  3. ?>
to wiadomo, że włączy sie wszystko ładnie jeżeli wcześniej się zalogowałem a można jakoś podpiąć tą stronę http://xxx.pl/admin.php?mod=editusers&action=list pod moją inną bez żadnych ograniczeń, żeby wyciągła z niej kod html i np. zapisała a później bym sobie go odtworzył i wszystko ładnie by działało?
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.