Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: POST
Forum PHP.pl > Forum > PHP
pala2222
witam.
mam takie krótkie pytanie, co będzie szybsze:
jeżeli program z komputera wyśle post z 10 zmiennymi post, czy lepiej jak wyśle w jednej po przecinku a potem skrypt w PHP sobie to odzieli? (program będzie napisany w c++ i biblioteką curl)
to będą liczby jednocyfrowe.

Oraz takie inne:
Chciałbym napisać(jeśli to możliwe) skrypt w php który bo odbierał POST z programu na PC i by przepuszczał go dalej jeśli czas od poprzedniego wysłanego z tego jp wyniesie np 2s. a jeśli w cześnie to odczeka ten czas i zrobi swoje, mam dodatkowe pytanie w związku z tym:

Czy da radę napisać skrypt w PHP który by pamiętał IP?
Jak to będzie jeśli kilka osób ma publiczne ip lub maskowane przez serwer dostawny internetu?

Co myślicie o gotowym filtrze który będzie o tym dbał?
znacie jakiś dobry?
wookieb
1) 2 opcja
2) ja bym się posługiwał unikalnym identyfikatorem który program by odbieral a potem przekazywał do skryptu php (coś na zasadzie sesji)
pala2222
A jak by to wyglądało?
ta sesja?
(mam nadzieje, że to nie prima aprilis)
wookieb
1) Program nie ma identyfikatora sesji w takim razie prosi skrypt o niego /get_my_id.php -
  1. ini_set('session.use_cookies', 0);
  2. ini_set('session.use_only_cookies', 0);

2) program odbiera identyfikator i zapisuje go
3) Przy każdym kolejnym requescie wysylasz do skryptu w parametrze odebrany identyfikator
  1. if(!isset($_POST['session_id']))
  2. {
  3. echo 'KNOW YOU?'
  4. die();
  5. }
  6.  
  7. ini_set('session.use_cookies', 0);
  8. ini_set('session.use_only_cookies', 0);
  9. session_id($_POST['session_id']);
  10.  
  11. if(!isset($_SESSION['time']))
  12. {
  13. $_SESSION['time'] = time();
  14. }
  15.  
  16. if($_SESSION['time'] >= (time() - 2))
  17. {
  18. echo 'BYŁES TUTAJ 2 SEKUNDY TEMU';
  19. die();
  20. }
  21. $_SESSION['time'] = time();
  22.  
pala2222
Ale trzeba Pamiętać, że prędzej czy później debugują program i zyskają kod który za to odpowiada i na tej podstawie napiszą swój który będzie atakował.

A co jeśli będę się pytał o ten kod kilkadziesiąt razy na sekundę, w tedy skrypt będzie mi odpowiadał i kicha.
wookieb
Jak? Przecież pokazałem ci kod skryptu php.
Serwer kontroluje dostęp a nie program.
pala2222
Bo program będzie wykonywał kilka różnych operacji z których będzie się łączył z tym samym skryptem, ale z innymi zmiennymi i może się tak zdarzyć, że program będzie częściej ogólnie zadawał zapytań i co w takim razie by można było zrobić?

A co będzie jeśli co chwilę będę się łączył i rozłączał i pytał sie o ten identyfikator
wookieb
Dowiedz się jak działa sesja a dopiero potem pogadamy.
pala2222
sorka ok teraz poczytałem i kapuje.
możesz zerknąć do mojego posta wyżej bo go edytowałem
wookieb
No i co w związku z tym ze czesciej będzie zadawał zapytania? Będziesz na nie odpowiadać. Podałem ci tylko prosty sposób na obsługę sesji dzięki której spersonalizujesz skrypt dla usera.
pala2222
to w taki sposób, przecież wykonuje się (chyba) proste ataki na serwis.
wysyłają setki zapytań z różnych komputerów w celu zablokowania serwera.

Jest gdzieś na php.pl jakiś poradnik do obsługi bardziej zaawansowanej sesji?
wookieb
Mówiszo DDOS ale sesja nie ma z tym nic wspólnego. I przed DDOS-em bronisz się zawsze tak samo.
google -> ochrona przez ddos
pala2222
Wielkie dzięki za pomoc.

Nie znam się za bardzo na php, ale umiem w nim pisać (bo jak zna się c++ to też prawie php)

Co jeszcze zastosować w tym skrypcie o czym zapomniałem?
załóżmy, że mam:
odbieranie post
dostawanie się do bazy danych sesje
i co jeszcze by się przydało?

a jak by napisać sesje, żeby potem bez problemu, przekazać go do programu używającego curl ?
może te użyć curl ale w php?
byś mógł mi podać jakiś przykład?
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.