[PHP] verboden maken van link voor niet-posters/niet betaald
Ik gebruik voor het laten zien van images op mijn website een php pagina die de foto's aanmaakt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
switch ($_GET['kind']) {
case "l": $folder = "pictures/thumbs"; break;
case "m": $folder = "pictures/original_thumbs"; break;
case "h": $folder = "pictures/original"; break;
case "u": $folder = "pictures/users"; break;
}
// Kijk of de image wel bestaat, als de image bestaat, laat m zien.
if ((file_exists($folder."/".$_GET['picID'].".JPG")) && (is_numeric($_GET['picID']))) {
$picSrc = imagecreatefromjpeg($folder."/".$_GET['picID'].".jpg");
} else {
$picSrc = imagecreatefromjpeg($folder."/notFound.jpg");
//error("Afbeelding " . $_GET['picID'] . " is niet gevonden of picID was geen getal.");
}
imagejpeg($picSrc);
?>
switch ($_GET['kind']) {
case "l": $folder = "pictures/thumbs"; break;
case "m": $folder = "pictures/original_thumbs"; break;
case "h": $folder = "pictures/original"; break;
case "u": $folder = "pictures/users"; break;
}
// Kijk of de image wel bestaat, als de image bestaat, laat m zien.
if ((file_exists($folder."/".$_GET['picID'].".JPG")) && (is_numeric($_GET['picID']))) {
$picSrc = imagecreatefromjpeg($folder."/".$_GET['picID'].".jpg");
} else {
$picSrc = imagecreatefromjpeg($folder."/notFound.jpg");
//error("Afbeelding " . $_GET['picID'] . " is niet gevonden of picID was geen getal.");
}
imagejpeg($picSrc);
?>
Bovenstaande code werkt perfect en laat zijn mijn foto zien. de link binnen de pagina waar de foto's op komen te staan komen er dus zo uit te zien:
Voorbeeld:
Dit werkt ook perfect en laat dus uit de map Thumbs het plaatje zien [ slechte kwaliteit ].
Nu als gebruikers de link naar makejpg.php kopieren en de letter "l" in een "h" veranderen krijgen ze de originele foto te zien. Is er een mogelijkheid om dit te blokkeren?
Het lijkt mij dat er gekeken moet worden of een gebruiker de eigenaar van een image is of dat ie de image heeft gekocht, dan mag hij er wel bij[ bij de originele image ].
Kan iemand mij vertellen hoe ik makejpeg.php zo kan aanpassen dat dit het gewenste resultaat opleverd?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if($_SESSION['allowed'] != true && $_GET['kind'] == h){
$_GET['kind'] = l;
}
switch ($_GET['kind']) {
case "l": $folder = "pictures/thumbs"; break;
case "m": $folder = "pictures/original_thumbs"; break;
case "h": $folder = "pictures/original"; break;
case "u": $folder = "pictures/users"; break;
}
// Kijk of de image wel bestaat, als de image bestaat, laat m zien.
if ((file_exists($folder."/".$_GET['picID'].".JPG")) && (is_numeric($_GET['picID']))) {
$picSrc = imagecreatefromjpeg($folder."/".$_GET['picID'].".jpg");
} else {
$picSrc = imagecreatefromjpeg($folder."/notFound.jpg");
//error("Afbeelding " . $_GET['picID'] . " is niet gevonden of picID was geen getal.");
}
imagejpeg($picSrc);
?>
if($_SESSION['allowed'] != true && $_GET['kind'] == h){
$_GET['kind'] = l;
}
switch ($_GET['kind']) {
case "l": $folder = "pictures/thumbs"; break;
case "m": $folder = "pictures/original_thumbs"; break;
case "h": $folder = "pictures/original"; break;
case "u": $folder = "pictures/users"; break;
}
// Kijk of de image wel bestaat, als de image bestaat, laat m zien.
if ((file_exists($folder."/".$_GET['picID'].".JPG")) && (is_numeric($_GET['picID']))) {
$picSrc = imagecreatefromjpeg($folder."/".$_GET['picID'].".jpg");
} else {
$picSrc = imagecreatefromjpeg($folder."/notFound.jpg");
//error("Afbeelding " . $_GET['picID'] . " is niet gevonden of picID was geen getal.");
}
imagejpeg($picSrc);
?>