Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Jak zabezpieczyć wysyłanie danych
EvilBlast482
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 4.02.2014

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


Jak zabezpieczyć ten kod przed nieprawdziwymi danymi?

  1. <?php
  2. header('Access-Control-Allow-Origin: *');
  3. header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
  4.  
  5. include('config.php');
  6.  
  7. if($_SERVER['HTTP_REFERER']='***'){
  8. $id = (int) $_POST['id'];
  9. $tip = $_POST['tip'];
  10. $link = $_POST['link'];
  11. $typ = $_POST['typ'];
  12. $zdobywca = $_POST['zdobywca'];
  13. $przeciwnik = $_POST['przeciwnik'];
  14. $a_nicki = $_POST['nicki'];
  15. $a_outy = $_POST['outy'];
  16. $gdzie = $_POST['gdzie'];
  17. if(!empty($tip) && !empty($gdzie)){
  18.  
  19. mysql_query("INSERT INTO table1 (id_itemu, tip, link, typ, zdobywca, przeciwnik, a_nicki, a_outy, gdzie) VALUES ('$id', '$tip', '$link', '$typ', '$zdobywca', '$przeciwnik', '$a_nicki', '$a_outy', '$gdzie')")or die(mysql_error());
  20. }
  21. }
  22. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A jakei to są te "nieprawdziwe" dane?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
EvilBlast482
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 4.02.2014

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


@nospor
Np. wysłane z innego servera niż podany.
Słyszałem coś aby zrobić to w obiektach i pdo... Ale... biggrin.gif
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




PDO czy obiekty mają guzik wspolnego z jakiego serwera dane zostaly wyslane. A co ci szkodzi ze ktos wysle dane nie z Twojej strony?

ps: poczytaj o SQLInjection bo to tym sie powinienies martwic. W ogole nie zabezpieczasz danych...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
EvilBlast482
post
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 4.02.2014

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


Po prostu nie chce aby ktoś wysyłał nieprawdziwe dane, przykładowo jak ktoś użyje nieskończonej pętli? To wyśle się X wyników. biggrin.gif
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jak juz pisalem najpierw poczytaj o SQLINjection bo twoj skrypt w ogole na to nie jest odporny. To jest wiekszy problem.
Jak ktos bedzie chcial wyslac dane to wysle. Mozesz co najwyzej sie pobawic by z danego IP nie mogl dodac za duzo danych naraz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post
Post #7





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Pierwszy z brzegu wynik który powinien pomóc
http://www.wikihow.com/Prevent-Cross-Site-...-Attacks-in-PHP


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@viking to co podales w zaden sposob nie zabezpieczea przed sytuacją, którą opisał autor


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post
Post #9





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Jeśli serwer który te dane wysyła dołączy również poprawny token i później załóżmy
  1. if (Costam::isValidToken($_POST['token']))


to raczej nie widzę problemu. Zwłaszcza w tej sytuacji gdzie if jest na bazie referera który to sobie można dowolny podać.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ale atakujacy moze bez wiekszego problemu pobierac ten token i przesylac go razem ze swoim żądaniem. Dlatego też piszę, że to nie jest zabezpieczenie na ludka, ktory bedzie celowal w jego strone.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post
Post #11





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Zależy od stopnia skomplikowania. Przecież na podobnej zasadzie działają choćby systemy płatności online. W skrócie logowanie partnera, ustalenie indywidualnego kodu. md5 z jakiegoś tam kodu sesji + kod klienta = token. Bez znajomości kodu nie można wysłać poprawnego ciągu.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




jesli przegladarka moze wysylac forma, to i atakujacy moze wyslac forma. A juz przy zabezpieczeniu co podales


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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 Aktualny czas: 20.08.2025 - 09:10