Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Blokada masowych ssaczy., i nie tylko...
maximus
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.04.2004

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


Jak można się zabespieczyc przed masowymi ssaczami używającymi
takich programow jak webstripper?

Czy jest jakas skuteczna metoda?


I drugie:

Jak wysłać plik graficzny (jpg) do przeglądarki aby ta zinterpretowała to
jako plik do pobrania (a nie wyświetlała grafiki) i uruchomiła całą procedurę "zapisz"?

Ten post edytował maximus 28.06.2004, 08:23:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
fiflus
post
Post #2





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 19.09.2003

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


to odpowiedź na 2

  1. <?php
  2. $path = 'plik.jpg'; // sciezka pliku 
  3. header(&#092;"Content-Type: application/force-download\"); 
  4. header(&#092;"Content-Type: application/octet-stream\"); 
  5. header(&#092;"Content-Type: application/download\"); 
  6. header(&#092;"Content-Disposition: attachment; filename=\".basename($path).\";\"); 
  7. header(&#092;"Accept-Ranges: bytes\"); 
  8. header(&#092;"Content-Transfer-Encoding: binary\"); 
  9. header(&#092;"Content-Length: \".filesize($path)); 
  10. readfile($path); 
  11. exit(); 
  12. ?>


--------------------
Fajne to forum :)
Go to the top of the page
+Quote Post
maximus
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.04.2004

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


dzieki smile.gif

teraz zostaje jeszcze pyt. 1

Jak blokować masowych ssaczy?
Go to the top of the page
+Quote Post
byther
post
Post #4





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 15.06.2004
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Cytat(maximus @ 2004-06-28 10:25:22)
Jak blokować masowych ssaczy?

1. Analiza logów ze statystyką, obsługa "wagi" klas IP, no i na końcu reguły. Ale do tego php jest raczej "za krótkie".
2. W wypadku małego serwisu wystarczy, gdy ustalisz, że dana klasa adresów IP nie może wchodzić na stronę częściej niż X. Ostatecznie możesz dodać obsługę grup klas adresowych. Takie "penalty points" z IRCa. ;-)

Oba punkty mają swoje "zady i walety", więc wybór należy do Ciebie.

Odpowiedz na proste pytanie: czym różni się masowy ssacz od gościa, który uważa Twój serwis za wart uwagi i spędza w nim dużo czasu?


--------------------
Sygnaturka: jest
Go to the top of the page
+Quote Post
maximus
post
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.04.2004

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


To może uściślę:

Ten serwis to popularny site z dużymi ("ciężkimi") grafikami.

Same pliki jpg zamieszczone w serwisie ważą ponad pół GB.

Serwis cieszy się popularnością - około 5,000 unikalnych userów / dobę

nie trudno więc policzyć jak zaczyna warjować transfer gdy kilkudziesięciu
userów dziennie wpadnie na genialny pomysł pt. - "chce miec cały ten serwis u siebie na kompie" smile.gif

Ten post edytował maximus 28.06.2004, 10:13:30
Go to the top of the page
+Quote Post
byther
post
Post #6





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 15.06.2004
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Na siłę to możesz stworzyć system odnośników, np. na stronie o adresie index.php, odnośnik index.php?linkid=1 będzie tak naprawdę oznaczał index.php?cat=news&id=1234, index?linkid=2 to users.php?view=admins... I tak dla każdej z generowanych podstron. Wymaga to jednak sporo doświadczenia w programowaniu.

Jeżeli ten webstripper jest "kiepściuchny", spróbuj umieszczać odnośniki jako skrypty javascript lub niech każda strona sprawdza i ustawia "specjalne" ciacho (coś a la $_SERVER['HTTP_REFERER']).


--------------------
Sygnaturka: jest
Go to the top of the page
+Quote Post
maximus
post
Post #7





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.04.2004

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


Cytat(byther @ 2004-06-28 11:29:58)
Na siłę to możesz stworzyć system odnośników, np. na stronie o adresie index.php, odnośnik index.php?linkid=1 będzie tak naprawdę oznaczał index.php?cat=news&id=1234, index?linkid=2 to users.php?view=admins... I tak dla każdej z generowanych podstron. Wymaga to jednak sporo doświadczenia w programowaniu.


Wiem jak to zrobić - tylko co to zmieni?
Go to the top of the page
+Quote Post
byther
post
Post #8





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 15.06.2004
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Link mają to do siebie, że są niepowtarzalne (index.php, index.php?id=1, show.php?view=dupa&user=wpisz_swojego_nicka). Jednak gdy index.php będzie miał linki składające się z index.php?id=X, to nawigacja będzie zależała od... kolejności wejścia w poszczególne linki.
index.php?id=1 -> index.php
index.php?id=2 -> users.php
index.php?id=3 -> login.php

Wchodzisz w index.php?id=2, czyli wyświetlasz users.php (podkreślam - WYŚWIETLASZ, a NIE PRZEKIEROWUJESZ).

W adresie widnieje index.php?id=2, a linki to:
index.php?id=1 -> users.php?view=group&group=admins
index.php?id=2 -> users.php?view=group&group=moderators
...

Ssacz ma jedynie wartości przed "->", więc musi znaleźć sposób na to, że adres
index.php?id=2
jest różny od
index.php?id=2, index.php?id=2

Jaśniej chyba nie potrafię tego wytłumaczyć.


--------------------
Sygnaturka: jest
Go to the top of the page
+Quote Post
maximus
post
Post #9





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 15.04.2004

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


dry.gif

Ja chyba jakiś tempy jestem.

Co za różnica czy w menu link będzie kierował do strony users.php czy index.php?id=2 skoro efekt - będzie ten sam (załaduje się dokładnie ta sama strona)?

Ten post edytował maximus 28.06.2004, 18:13:44
Go to the top of the page
+Quote Post
orson
post
Post #10





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam ....

chodzi o takie cos :
index.php:
Kod
strona glowna: index.php?id=1
katalog: index.php?id=2
kontakt: index.php?id=3
.
.
.
jakas strona: index.php?id=n

a po kliknieciu na katalog:
Kod
strona glowna: index.php?id=1
katalog: [aktualna strona]
kontakt: index.php?id=2
.
.
.
jakas strona: index.php?id=n-1

questionmark.gif? jezeli tak to system ciekawy ale bedzie bardzo trudny w implementacji ...
mozesz ewentualnie sprobowac z JS ... ludzie ktorzy robia mirrora strony nie uzywaja przegladarki i zapisz jako ale jakiegos programu ... a one nie radza sobie zbyt dobrze z JS wiec tak:
robisz sobie funkcje np. goTo(mode,dest) a w niej switcha/ifa i kazdy link zapisujesz tak:
  1. <a href=# onclick="goTo('local',17);">przejdz do jakiejs strony</a>

a we wlasciwej funkcji:
Kod
function goTo(mode,dest){
if (mode == 'local'){
window.href = 'index.php?id='+id;
return true;
}elseif (mode == 'out'){
window.href = dest;
return true;
}
}

czyli zostawiasz tworzenie url dla JS ... powinno pomoc ... pisalem z glowy ale sam pomysl chyba jest dobry ...
ps. mode = local oraz ilosc parametrow funkcji mozesz sobie dopasowac do wlasnego schematu linkow ... albo zmienic index.php?id= na go.php?id= i w go.php pobierac id z bazy i tam przekierowywac ....

pozdrawiam


--------------------
Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
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 - 19:44