Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak sprawdzić, czy ktoś z zewnątrz pobiera
Forum PHP.pl > Forum > PHP
xPatryk
Witam !

Ostatnio na mojej drodze pojawił się duży problem...
Otóż uprzejmi twórcy stron masowo zaczęli kraść od nas artykuły i obrazki...
Wstawiają je na swoje strony podając ich adres na naszym serwerze...

Potrzebuję stworzyć skrypt, który automatycznie wpisze taką stronę na naszą Czarną Listę Stron Hippicznych...

Tu jednak pojawia się problem, gdyż nie wiem, jak sprawdzić kto pobiera obrazki... Domyślam się, że można to zrobić na podstawie analizy logów, ale jak ?
Chodzi mi o to, aby w rezultacie otrzymać adres obrazka, który ukradł i adres strony, na której go wstawił...

Czy ktoś z Was spotkał się może kiedyś z takim problemem i wie jak go rozwiązać ?

Pozdrawiam
Patryk
shpyo
ten problem mozna zalatwic poprzez sprawdzenie 'polecajacego'. tzn. jezeli strona polecajaca do pliku/obrazka jest inna niz Twoja to pojawia sie stosowny komunikat.

Na http://videoclips.pl/ tez mieli ten problem. Zalatwili to programem Anty-Leech czy jakos tak.
xPatryk
Hmmm... a nie wiesz może, gdzie takowy program (skrypt) można znaleźć ? przeszukałem google i forum php.pl, ale go nie znalazłem sad.gif
Paul
Cytat(shpyo @ 2004-06-17 08:07:25)
ten problem mozna zalatwic poprzez sprawdzenie 'polecajacego'.

Tylko problem w tym, ze firewalle czasem czyszcza referera... Poszukaj moze z slowem kluczowym hotlinking lub hotlinkowanie
byther
To może specjalna nazwa ciacha ze specjalną zmienną i wykorzystanie mod_rewrite?

pzdr.
byther

PS. Tak sobie tylko "gdybam"... rolleyes.gif
Supol
hmm nie wiem czy dobrze rozumuje.. ale jakby przedstawiac zdjecia w postaci zdjecia.php?id=1 np. i skrypcik zprawdzalby Ci np. sesje zalozona przy wejsciu na Twoja stronke.. i wtedy wypluwal zdjecie [bylo to kiedys na forum] a jesli nie to pobieral HTTP-REFERER questionmark.gif
Chewolf
Cytat(Supol @ 2004-06-17 12:16:32)
hmm nie wiem czy dobrze rozumuje.. ale jakby przedstawiac zdjecia w postaci zdjecia.php?id=1 np. i skrypcik zprawdzalby Ci np. sesje zalozona przy wejsciu na Twoja stronke.. i wtedy wypluwal zdjecie [bylo to kiedys na forum] a jesli nie to pobieral HTTP-REFERER questionmark.gif

No coś w tym rodzaju biggrin.gif
Przykład :
  1. <?php
  2. $adres_s = &#092;"www.costam.pl/download(adresstrony)\";
  3. if(strstr($_SERVER['HTTP_REFERER'], $adres_s)==False){
  4. echo 'Nie wolno kraść !';
  5. }
  6. ?>
xPatryk
hmm... nad tym już myślełem, ale niestety mamy za dużo zdjęć, by takie coś przeszło (galerie, artykuły, forum itp...)
sad.gif
party
A może byś w GD generował dopiski do zdjęć. Np.: adres lub nazwa strony smile.gif
xPatryk
Też się nad tym zastanawiałem, tylko to strasznie głupio wygląda i niszczy wygląd strony sad.gif
bregovic
ok, to skomplikowane dosc ale mozna zalatwic.
musisz miec na servie gd - bez tego nie pojdzie.

kazde zdjecie bedzie musialo byc sciagane przez skrypt.
wiec jesli potrzebujesz pliku 'gfx/bla.jpg' to piszesz

  1. <img src=\"pic.php?file=<?php print base64_encode('gfx/bla.jpg'); ?>\" />


a w pliku pic.php:

  1. <?php
  2.  
  3. if($_SERVER['HTTP_HOST'] ! = 'twoj.host')
  4. {
  5.  print 'Nie wolno kraść!';
  6. }
  7. else
  8. {
  9.  $file = base64_decode($_GET['file']);
  10.  
  11.  header (&#092;"Content-type: image/jpeg\");
  12.  
  13.  $im = imagecreatefromjpeg($file);
  14.  imagejpeg($im);
  15.  imagedestroy($im);
  16. }
  17.  
  18. ?>


oczywiscie kodowanie url'a obrazka przez base 64 to zadne kodowanie - ale wiekszosc 'lebkow' kradnacych zdjecia sie nie skapnie ;D

uwaga - nie testowalem tego. jesli cos to zapraszam na manual image" title="Zobacz w manualu PHP" target="_manual.

ps. - to '& # 33;' w skrypcie to powinien byc wykrzyknik ale cos jest skopane w skrypcie kolorujacym php...
xPatryk
Dzięki za pomysł, ale troche nie o to mi chodziło sad.gif

Chodzi mi o to, że ten skrypt nie ma blokować wyświetlania zdjęć na innych stronach, a jedynie dodawać adresy "złodzieji" do czarnej listy...
Najlepiej na podstawie analizy dziennika sad.gif

Ponadto w tym rozwiązaniu jest też problem, gdyż

Cytat
Jeździeckie Centrum Informacyjne jest tworzone przez Koniarzy i Dla Koniarzy

co musi oznaczać maksymalną prostotę tworzenia artykułów... Nie sądzę, że przeciętny "zjadacz marchewki" będzie potrafił wpisać:
  1. <img src=\"pic.php?file=<?php print base64_encode('gfx/bla.jpg'); ?>\" />
...
bregovic
hmm. to masz problem. jak odroznisz w logach usera od strony? imo nie odroznisz. ale mozesz zrobic tak ze tam gdzie ci 'koniarze' wpisuja artykuly maja napisac [zdjecie=/plik/jakis.jpg] i to sobie podmienic... innego wyjscia nie widze. chyba ze ktos wie jak za pomoca logow odroznic usera od strony...
Supol
Hmm ... jesli kradna Ci wszystkie artykuly to najlepiej przy najnowszym zastowowac jedna z podanych metod [np. moja ;P] i poczekac az intruzy zlapia sie za haczyk i zapisywac stronki... wiec nie trzeba stosowac tego rozwiazania do wszystkich zdjec [galeria itp. jak pisales]
xPatryk
to też metoda i chyba ją przetestuję, ale chodziło mi raczej o coś takiego jak ma microshit(soft):

http://images.google.com/imgres?imgurl=www...ow%3D1%26sa%3DG

jeśli obrazek jest wyświetlany przez google, wyświetla kłódkę...
obrazek docelowy jest na stronie microshit'a w formie

http://www.microsoft.com/china/security/images/sec_r6_c4.jpg

sad.gif
Supol
Cytat
chodziło mi raczej o coś takiego jak ma microshit(soft):

no to przyklad dal bregovic, tylko piszac
Cytat
Chodzi mi o to, że ten skrypt nie ma blokować wyświetlania zdjęć na innych stronach, a jedynie dodawać adresy "złodzieji" do czarnej listy...
chyba zmieniles teraz zdanie.
ps. nie potrzebujesz gd poprostu wypluwaj okreslone zdjecia [np. gdy sesja sie zgadza albo 'HTTP_HOST' to wypluwa Ci Twoja fotke a w przeciwnym razie klodke.
ps2. jesli chodzi Ci o wypluwanie zdjec tez bylo na forum z tego co mnie pamiec nie myli ukrywanie adresu zdjecia... [podpowiedz header ("Content-type: image/jpeg");]
ps3. co do HTTP_HOST tutaj masz cos do poczytania.. czyli sesje lepsze ;P
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.