'Copyright' balk onder afbeeldingen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jee vb

Jee vb

14/08/2012 13:32:07
Quote Anchor link
Hoi, ik denk dat deze vraag hier thuis hoort.

Ik ben bezig met een site en die bevat heel wat afbeeldingen. Nu wil ik graag onder elke afbeelding een balkje met de naam van de site waar het vandaan komt. Maar dat moet pas zichtbaar worden als je een afbeelding ergens anders naar toe kopieert.
Voorbeeld, 9gag, op de site zelf staat er niks onder/op de afbeelding. Maar als je hem bijvoorbeeld op een forum zet komt er een balkje onder te staan:
Afbeelding
Ik hoop dat jullie mij verder kunnen helpen.
 
PHP hulp

PHP hulp

23/04/2024 21:44:22
 
Obelix Idefix

Obelix Idefix

14/08/2012 13:42:04
Quote Anchor link
Geef je heel weinig kans van slagen.

Elke afbeelding die op internet staat is te downloaden/op te slaan op de harde schijf.
Daarbij is het, voor zover mij bekend, niet mogelijk om alleen op het moment van kopiëren (/downloaden/opslaan) een (C) toe te voegen.
Ene truc die ik kan bedenken is dat je het (C) toevoegt aan de afbeelding maar, m.b.v. css, 'verbergt'.
Bedenk wel: een (copyright)melding zoals hierboven, is heel eenvoudig te omzeilen door de afbeelding wat bij te werken.

De enige manier om een afbeelding niet overal tegen te (kunnen) komen op internet is om die afbeelding niet op internet te zetten ;-)
Gewijzigd op 14/08/2012 13:43:47 door Obelix Idefix
 
Jee vb

Jee vb

14/08/2012 14:12:48
Quote Anchor link
Haha, ja ik snap dat het makkelijk te omzeilen is. Maar het dient moet dan ook niet echt dienen als een copyright. Maar meer als reclame. Hoe zou ik dat dan doormiddel van css kunnen verbergen?

Als je op 9gag de afbeelding versleept zie je die onderste balk er dan wel weer bij:
Afbeelding
Vraag me dus af hoe ze dat doen.
Gewijzigd op 14/08/2012 14:14:40 door Jee vb
 
Remco nvt

Remco nvt

14/08/2012 14:16:50
Quote Anchor link
Ik zou zeggen; Maak gebruik van het 'hotlinking' principe.
http://safalra.com/programming/php/prevent-hotlinking/

Daarmee (met zo'n principe) kan je ook plaatjes opnieuw renderen waardoor er tekst wordt toegevoegd.
Succes.

Edit:

Werkt natuurlijk niet als mensen iets willen downloaden.
Anders zou ik inderdaad met css bepaalde dingen 'hidden' maken als je het eigen site is.
Gewijzigd op 14/08/2012 14:18:03 door Remco nvt
 
Lex van der poel

lex van der poel

14/08/2012 14:18:35
Quote Anchor link
nou kijk je hebt een afbeelding van 200px hoog een een reclame balk van 20px dan maak je een css box met overflow: hidden; van 180px hoog dan zie je de reclame banner niet meer.

Toevoeging op 14/08/2012 14:25:17:

kijk naar mijn voorbeeld: http://195.241.208.60/mobile/test.html
en sleep de afbeelding.

Toevoeging op 14/08/2012 14:31:59:

je kan als het goed is het ook zo doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
css:

.img {
    overflow: hidden;
    margin-bottom: -40px;
}

als de reclame banner 40px is
 
Kris Peeters

Kris Peeters

14/08/2012 14:36:27
Quote Anchor link
Ja, wat je vraagt, is doenbaar. Ik zal een voorbeeld geven.

Het punt is: een afbeelding wordt altijd asynchroon geladen. De html wacht niet tot de images geladen zijn om verder te werken (en php al zeker niet). Het <img> element wordt eerst blanco op het scherm gezet en dat element zal dan een eigen contact maken met de server.

Dus als je ergens een <img> hebt in je site, resulteert dat in twee verzoeken naar de server. Dat geeft je de mogelijkheid om te spelen met sessions (er zullen nog andere methodes zijn...)

Wat je met dit voorbeeld moet testen:
- run deze pagina bv. in Firefox.
- copy/paste de url van de image (dat wordt dan iets als http://localhost/watermerk/index.php?image=1) in een ander tabblad. Dit zal werken.
- Plak de url in een andere (merk van) browser, bv. Chrome. Hier zal je een wit blad zien.

De image wordt dus pas getoond als je op de site zelf bent geweest.
In plaats van een wit blad wil jij de zelfde afbeelding, maar dan met watermerk.
Dat watermerk moet je zelf eens bekijken; ik geef je een link in het commentaar.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?PHP
session_start();

$file = 'jfk_anniversary_300.jpg';   // maar zoek vooral zelf een afbeelding.  Plaats die in de zelfde map als index.php
  
if (isset($_GET['image'])) {
  if (isset($_SESSION['visited_site'])) {
    // de <img> staat op de eigen site.
    forceFile($file);
  }

  else {
    // de <img> staat niet op de eigen site, maar bv. op een forum
    // hier is een goede plek om de afbeelding te tonen met een watermerk
    // zie http://php.net/manual/en/image.examples.merged-watermark.php

  }
}

else {
  $_SESSION['visited_site'] = true;
  echo '<img src="index.php?image=1">';
}


/**
*  example of a way to force the download of a file
*/

function forceFile($file) {
  // @see http://www.ryboe.com/tutorials/php-headers-force-download
  if(!$file) {
    // File doesn't exist, output error
    die('file not found');  // or do something more useful
  }
  else {
    // Set headers
    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Disposition: attachment; filename=$file");
    header("Content-Transfer-Encoding: binary");

    // Read the file from disk
    readfile($file);
  }
}

 ?>
Gewijzigd op 14/08/2012 14:57:07 door Kris Peeters
 
Jee vb

Jee vb

14/08/2012 15:00:29
Quote Anchor link
Dank voor de antwoorden!
@Kris, ik wil graag geen watermerk door de afbeelding zelf.
@Lex, mijn afbeeldingen zijn niet allemaal even hoog. Dus de eerste optie valt dan al af aangezien het teveel afbeeldingen zijn om één voor één te doen. Áls de tweede optie werkt word het waarschijnlijk die.
Dan het volgende probleem, ik weet niet of ik deze vraag hier mag stellen. Hoe voeg ik zo'n balk toe aan zo'n 1000 afbeeldingen..?
 
Kris Peeters

Kris Peeters

14/08/2012 15:12:24
Quote Anchor link
Wat jij vraagt, is wel degelijk een afbeelding met watermerk, qua functionaliteit. Alleen is er een extra randje rond de image gezet, door de GD library.

Splits even het probleem in de aparte onderdelen.

- detecteren van hotlinking (zie de link hotlinking, of mijn code)
- het watermerk effectief maken (spelen in GD library. height bepalen, daar een strook extra bij doen, merge de afbeelding boven, het watermerk beneden)
- beslissen of je het watermerk zet bij het uploaden van de image <-> on the fly, bij het verzoek (Dat is een open vraag ivm je laatste vraag)
Gewijzigd op 14/08/2012 15:18:04 door Kris Peeters
 
Robert B

Robert B

14/08/2012 18:32:48
Quote Anchor link
Hallo,
Wat het hot linken betreft: het is niet 100% waterdicht, maar met bijv. de http://www.cyberciti.biz/faq/apache-mod_rewrite-hot-linking-images-leeching-howto/ kom je een heel eind.

Wat je kunt downloaden kun je nu eenmaal downloaden :) Als iemand een script schrijft om de 'goede afbeeldingen' te downloaden dan kun je hier weinig tegen doen.
De sessie check is een bekende manier, maar iets geavanceerdere scripts kunnen eenvoudig zien dat ze ook een sessiecookie moeten meesturen in het 'kwaadwillende' script, en deze dus eerst moeten binnenhalen (via een ander request).
Gewijzigd op 14/08/2012 18:35:07 door Robert B
 
Jee vb

Jee vb

20/08/2012 15:48:44
Quote Anchor link
Het hotlinken snap ik nog niet helemaal. Het enige wat dat oplevert is dat je dataverkeer niet word gebruikt als de afbeelding niet direct op jou site word bekeken?
 
Kris Peeters

Kris Peeters

20/08/2012 17:23:48
Quote Anchor link
Begin misschien al eens met de code te schrijven die de GD library aanspreekt, om dat watermerk (maar dan als balk onder de afbeelding ...) te maken.

Er is niets wat je tegenhoudt om dat al te doen, en je zal het toch ooit moeten maken.
 
Jee vb

Jee vb

20/08/2012 20:22:24
Quote Anchor link
Anders lijkt mij het namelijk makkelijker om iedere afbeelding een vast watermerk te geven, op de manier zoals lex zegt. En dan kan ik overwegen een pakket aan te schaffen zonder dataverkeer.
GD heb ik al eerder naar gekeken maar lijkt mij te ingewikkeld voor het doel, niet?
 
Kris Peeters

Kris Peeters

21/08/2012 10:10:27
Quote Anchor link
En hoe dacht je dit te automatiseren?
Je kan met GD eenmalig een watermerk toevoegen bij het uploaden van de afbeelding (Dat belast de server het minste) of elke keer bij het bekijken van de afbeelding (Dit zal de server veel meer doen werken).

Of dacht je om dit zelf te doen met photoshop?
 
Php knipper

php knipper

21/08/2012 10:23:51
Quote Anchor link
kun je niet op al de foto's geen watermerk toepassen en dat op de foto weg doen

kun je niet op al de foto's een watermerk toepassen en dat op de foto weg doen met css

oeps een beetje verstrooit
Gewijzigd op 21/08/2012 14:14:34 door php knipper
 
Obelix Idefix

Obelix Idefix

21/08/2012 11:05:51
Quote Anchor link
Php knipper op 21/08/2012 10:23:51:
kun je niet op al de foto's geen watermerk toepassen en dat op de foto weg doen

Geen watermerk toepassen en op de foto weg doen?!??! :s
 
Lex van der poel

lex van der poel

21/08/2012 11:14:38
Quote Anchor link
Obelix en Idefix op 21/08/2012 11:05:51:
Php knipper op 21/08/2012 10:23:51:
kun je niet op al de foto's geen watermerk toepassen en dat op de foto weg doen

Geen watermerk toepassen en op de foto weg doen?!??! :s


Haha egt geen logica ;)
 
Write Down

Write Down

21/08/2012 11:33:16
Quote Anchor link
Ik denk dat hij het volgende bedoelde:

Op elke foto een watermerk toepassen. (eigenlijk niet echt een watermerk, maar onderaan dus een extra balkje) Op zijn eigen site dan de afbeelding 'snijden' zodanig dat het watermerk niet zichtbaar is.

Lijkt me prima doenbaar. Enige nadeel aan deze optie is dat je toch altijd paar kb extra laadt, onnodig.
 
Lex van der poel

lex van der poel

21/08/2012 11:38:28
Quote Anchor link
Write Down op 21/08/2012 11:33:16:
Ik denk dat hij het volgende bedoelde:

Op elke foto een watermerk toepassen. (eigenlijk niet echt een watermerk, maar onderaan dus een extra balkje) Op zijn eigen site dan de afbeelding 'snijden' zodanig dat het watermerk niet zichtbaar is.

Lijkt me prima doenbaar. Enige nadeel aan deze optie is dat je toch altijd paar kb extra laadt, onnodig.

dat heb ik in een eerdere comment all beschreven ;)
Gewijzigd op 21/08/2012 11:38:52 door lex van der poel
 
Jee vb

Jee vb

22/08/2012 17:59:39
Quote Anchor link
Wie dan iemand toevallig een programmaatje om onder al mijn afbeeldingen een balk te plakken. !Een balk die vast zit aan de afbeelding voordat je hem überhaupt online zet, dus via een foto bewerker o.i.d
Danku,
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

22/08/2012 18:12:21
Quote Anchor link
Daar heb je geen programma(tje) voor nodig dat kan je gewoon met PHP (via gd lib)
 
Jee vb

Jee vb

22/08/2012 20:16:56
Quote Anchor link
Ger van Steenderen op 22/08/2012 18:12:21:
Daar heb je geen programma(tje) voor nodig dat kan je gewoon met PHP (via gd lib)

Dat is eigenlijk niet wat ik vroeg maar oke, blijkbaar is GD Library toch echt de beste keus. Maar waar staat precies op deze pagina hetgeen wat ik nodig heb. Dus een balk onder de afbeelding plaatsen.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.