Zablokowanie ściągania obrazka

0

Witam! Muszę zrobić właśnie to co jest w temacie, czyli zablokować ściąganie obrazka ze strony.

Pierwszym moim pomysłem jest skrypt java, który blokuje prawy przycisk myszy :) oczywiście to pierwszy stopień trudnootści, bo każdy kto jest na tyle moądy potrafi to obejść... A zresztą nie wszędzie będzie działał.

Drugim moim pomysłem jest skrypt php, który będzie zwracał obrazek (o ile da się coś takiego zrobić?? bo jestem kiepski w php, ale wydaje mi się że da się). Tutaj zabezpieczeniem by był fakt, że nie znana jest ścieżka obrazka. trzebaby było też sprawdzać czy to z naszej strony próbuje się otworzyć skrypt.

Teraz mam dwie prośby: macie jeszcze jakieś pomysły?? i czy moglibyście podać przykładowy kodzik skryptu który by zwracał obrazek żeby można go było wywoływać tak:
<img src="skrypt.php?obrazek=tajne.jpg">
próbowałem znaleźć ale nie mogłem :/

Pozdrawiam

0
speedlog napisał(a)

i czy moglibyście podać przykładowy kodzik skryptu który by zwracał obrazek żeby można go było wywoływać tak:
<img src="skrypt.php?obrazek=tajne.jpg">
próbowałem znaleźć ale nie mogłem :/

Skorzystaj z bibliotek GD, przykładów poszukaj na google ;)

0

No ale skrypt.php?obrazek=tajne.jpg zwraca obrazek, więc i skoro przeglądarka potrafi go wyświetlić, to można go zapisać - to chyba logiczne :)
Więc nie ma żadnych możliwości zablokować ściągania obrazka aby był on wyświetlony w przeglądarce.
Każdy następny post w tym wątku będzie tylko biciem piany.

0
speedlog napisał(a)

Pierwszym moim pomysłem jest skrypt java

głupim ale bardzo utrudniającym pomysłem byłoby wykorzystanie ... javy ;P jak ktoś będzie chciał pobrać obrazek to se ściągnie aplet a nie obraz :D równie dobrze można flasha wykorzystać ;) ale zawsze i tego nie zmienisz - jest printscreen

możesz w skrypcie sprawdzać referer, sam skrypt to np:

<?php Header('Content-type: image/jpeg'); readfile('obrazki/'.str_replace($_GET['plik'], Array('/', '\'), '-').'.jpg'); ?>

po co do czegoś takiego gd ? ale z twojej strony i tak się pobierze, jedynie utrudni hotlinkowanie

// lubię bić pianę ...

0

Czyli najlepszym pomysłem jest apelt java lub ewentualnie flash?? No trudno zawsze to jakieś rozwiązanie :) Coś pokombinuję i może mi się uda. Dzięki za pomoc i jak wpadniecie na jakieś pomysły to piszcie!

0
speedlog napisał(a)

Czyli najlepszym pomysłem jest apelt java lub ewentualnie flash?? No trudno zawsze to jakieś rozwiązanie :) Coś pokombinuję i może mi się uda. Dzięki za pomoc i jak wpadniecie na jakieś pomysły to piszcie!

Można zrobić skrypt php który nie wyświetla obrazek a dzieli go na jakieś mniejsze kawałki np. około 5px X 5px i zwraca odpowiedni kod który takie obrazki spreparuje i wstawi na strone z oryginału. Wywołanie może być skrypt.php?nazwa=obrazek.jpg . Obrazki beda w folderze gfx/img/images/41mfsa/obrazek.jpg
ale to troche zasobozerny sposob.

0
speedlog napisał(a)

Czyli najlepszym pomysłem jest apelt java lub ewentualnie flash?
Oba można zdekompilować i na podstawie kodu wyłuskać położenie obrazka.

0

niemożliwe jest uniemożliwić, ale możesz dużo utrudniać, zwłaszcza w IE, skoro Marooned twierdzi że można w nim zablokować PrintScreen ;) ... źródło strony też można raczej tak ukryć że dojście do niego przez view-source, a potem poskładanie z mniejszych kawałeczków zajmie więcej czasu niż narysowanie sobie tego obrazka ;)

ale tak na całkiem serio, to jeśli nie chcesz żeby ktoś ci coś ukradł to po prostu nie zamieszczaj tego w Internecie.

0
Adamo napisał(a)

skoro Marooned twierdzi że można w nim (IE) zablokować PrintScreen
Co by nie być gołosłownym, napisałem taki skrypt.

<script type="text/javascript">
function f()
{window.clipboardData.clearData();}
document.onfocusout=f;
</script>

Jego działanie polega na czyszczeniu schowka przy opuszczaniu przegląrki [np. alt+tab do painta] - minus taki, że może nieźle wkurzyć, jak ktoś kopiuje ważne dane przez schowek, zamyka oryginał, alt+tab zamiast do swojej aplikacji to przypadkowo na naszą stronę, poprawia alt+tab i.. danych nie ma :/

Ale ten kod to dowód, że można :) [IE only oczywiście]

0

W sumie rzeczywiście nie ma skutecznej obrony przed niczym... Ale można utrudnić komuś robotę jeśli będzie chciał pobrać obrazek. Dzięki za pomoc :) Myślę, że po połączeniu paru sposobów coś sklecę :) Jeszcze tylko dopowiem, że znalazłem taki kodzik, który nie będzie zapisywał strony do catch'a:

<meta http-equiv="Pragma" content="no-cache">

0

Już o tym była mowa. To jest tylko sugestia, życzenie skierowane do przeglądarki. Nie masz pewności, że go usłucha.

0

I jeszcze dodam co do tych moich kawałeczków obrazka (dzielenie na małe fragmenty) Mozna ustawic nad nimi warstwe lub cos w tym stylu i przykryc je przezroczystym gifem chociazby o wielkosci 1px x 1 px rozciagnietych do szerokosci tego obrazka. (Mam nadzieje ze ktos zrozumial bo nie dam rady myslec)

0

no o przykrywaniu gifem właśnie chciałem też napisać, myślałem że dosłownie można zablokować printscreen a nie czyścić schowek, chociaż w ani jedno ani drugie nie wątpiłem bo jest jeden silnik explorera na cały system a np na pulpicie można ustawić tapetkę z pełnym dostępem do wszystkiego, tyle że dostęp do schowka akurat można w opcjach wyłączyć
chyba jak już to zapisywanie w pamięci cache a nie w catch'u, a cache != zapisanie w plikach tymczasowych, do plików tymczasowych chyba zawsze zapisuje np w IE, żeby w ogóle to łatwiej wyświetlić, np przeciągnięcie każdego obrazka w IE na pasek adresu spowoduje wyświetlenie jego ścieżki w plikach tymczasowych, nawet dla obrazków które mają się pobierać za każdym razem, włączenie cache powoduje tylko nie usuwanie pliku stamtąd i wyświetlenie go następnym razem

0

No tak, jednak przykrycie obrazka warstwą nic nie da(oprócz tego że jak się kliknie prawym guzikiem zpaisz to zapisze się nasza warstwa), bo z kodu można wyczytać jaki obrazek jest "przykrywany". Też gdzieś o tej metodzie czytałem.

0

Bardzo mi sie ta polemika podoba :) Chociaz jestem totalnie nie z branzy i polowy nazw to nie znam, ale udolo mi sie dzieki wam zablokowac przynajmniej czesc ;-) - albo nie tyle zablokowac co utrudnic. Generalnie uwazam ze jak ktos sie na czyms zna to obejdzie zabezpieczenia. A jak sie nie zna to nie wie nawet co to jest Print Screen :) Ale nie o to idzie. Problem poega na tym, ze ja z wilka checia opublikuje swoje zdjecia na stonie - natomiast niekoniecznie chce aby je ktos sciagal. A osoby ktore beda ja ogladaly podejrzewam, ze jak zobacza ze sie nie da sciagnac to nie beda grzebaly kodach aby je jednak te obrazki wyciagnac :) Co mnie bardzo cieszy....
I oto mam kilka pytan do profesonalistow czyli was :) Z prawym klikem sprawa zalatwiona, z printscreenem tez (jako tako dziala - nie wiem dlaczego raz na kilka razy nie dziala). Problem pozostaje z paskiem, ktorym niektore przegladarki wyswietlaja po najechaniu na obrazek - z dyskietka, otworz w nowym oknie, powieksz, pomiejsz, wyslij e-mail itp. Chcialabym go zlikwidowac, alby sie nie pojawial. Wiecie jak to zrobic? Macie moze na to jakis script? I jeszcze druga sprawa - jak zablokowac 'pokaz zrodlo'? :)
Serdecznie dziekuje

0

Nie ma takiej blokady. Zwłaszcza uniwersalnej i działającej na każdą przeglądarkę. Jeżeli umiesz, to stwórz stronę w technologii Flash i żadne źródła i tym podobne nie będą już tak znów groźne. Aczkolwiek PrintScreen zadziała.

Możesz też zrobić coś takiego: http://riddle.jogger.pl/2006/07/11/blokowanie-mozliwosci-zapisania-obrazka-plus-wlasny-znak-wod/

0

a mozesz zdradzic tajemnice, co to za obrazki? bedzie latwiej dobrac odpowiednie narzedzie - a moze wcale nie trzeba blokowac, tylko wystarczy np. znak wodny?

1 użytkowników online, w tym zalogowanych: 0, gości: 1