© 2006 Hein Pragt
Introductie in PHP.
PHP is een programmeertaal waarmee u dynamische webpagina's kunt maken, het is
een "server-side embedded open-source" script-taal.
PHP is bedacht door Rasmus Lerdorf in 1994. Hij gebruikte het eerst alleen op zijn
eigen homepage, pas in 1995 kwam een versie die door anderen gebruikt kon worden onder
de naam Personal Home Page Tools. PHP groeide ontzettend snel en een groot aantal
ontwikkelaars brachten eigen verbeteringen in en in 1997 waren er al 50000 gebruikers.
Vanaf 1997 werd een groot gedeelte herschreven, op het moment dat ik dit schrijf zijn we
aan de vierde grote versie (PHP 4.0) toe. PHP stond in eerste instantie voor Personal Home Page,
tegenwoordig staat het voor PHP Hypertext Preprocessor.
U kunt alleen PHP gebruiken wanneer uw webserver PHP ondersteunt. De webserver zorgt er voor
dat alle bestanden met de extensie .php worden verwerkt door de PHP module die op
de webserver staat. Net als andere script-talen zoals Javascript en vbscript kan PHP
worden ingebed in HTML. PHP-code wordt door start- en eindtags gescheiden van de normale HTML.
De webserver zal de pagina versturen en de php-code die op de pagina staat
uitvoeren. De PHP code kan weer extra HTML code genereren die naadloos in de resultaat
pagina is opgenomen. De gebruiker ziet dus niets van de PHP code die uitgevoerd is,
behalve het resultaat van deze code. Voor de gebruiker is de opgeleverde pagina een "gewone" HTML pagina.
PHP is open-source, dat betekend dat PHP door iedereen gratis gebruikt mag worden en ook
dat iedereen een steentje bijdragen aan de ontwikkeling van PHP. U kunt PHP ook vrij
eenvoudig op uw eigen computer installeren, u kunt het downloaden van de officiële PHP-website.
PHP is een zeer uitgebreide taal met een zeer uitgebreide bibliotheek met standaard functies
waardoor u zeer eenvoudig de meest uitgebreide web applicaties kunt maken. Ook zijn er veel code
bibliotheken beschikbaar voor bijna elke toepassing zoals XML parsers, SOAP toolkits e.d.
Handige scripts.
Voorkomen van deeplinken.
Deeplinken is als men gebruik maakt van de weblocatie van afbeeldingen en/of foto's van een website zonder ze op de eigen webserver te zetten. De webpagina tekst komt dus van de eigen server maar de plaatjes en afbeeldingen van een andere webserver. De eigenaren van deze webservers zijn hier meestal niet erg blij mee omdat zij het dataverkeer moeten betalen voor een plaatje dat een ander op zijn site zet. Soms is de oorspronkelijke site niet meer zichtbaar omdat deze over de datalimiet heen is.
Vooral gebruikers van sites zoals CU2, partypeeps, sugerbabes en andere profiel sites zijn berucht om het stelen van dataverkeer.
Het deeplinken is dus eigenlijk stelen van dataverkeer. Aangezien dataverkeer duur is en u wilt voorkomen dat u moet betalen voor onverlaten die naar uw plaatjes linken, kunt u technische maatregelen treffen.
Via het volgende PHP script kunt u het deeplinken naar plaatjes op uw site voorkomen. Het script test bij ieder plaatje of het verzoek van de eigen webserver komt, is dit niet het geval dan geeft het een 404 melding.
Kopieer eerst de PHP code en sla deze op onder de naam plaatjes.php.
Maak een directory aan op uw server met een aparte naam zoals my_hidden_imags en zet daarin alle plaatjes. Vervang in het script mydomain door uw eigen domeinnaam en verzin een leuke naam voor de geheime directory waar uw plaatjes staan. Vervang my_hidden_imags door de naam van uw geheime directory. Vervang in uw html de locatie in de img tag zoal in het voorbeeld staat en het deeplinken naar uw plaatjes is niet meer mogelijk.
plaatje.php
<?
$imagedir = "../my_hidden_imags/";
$validprefixes = array (
"mydomain.com",
"www.mydomain.com"
) ;
$homepage = "http://www.mydomain.com/" ;
function isreferrerokay ($referrer) {
global $validprefixes;
$validreferrer = 0 ;
$authreferrer = current( $validprefixes );
while ($authreferrer) {
if (eregi( "^http?://$authreferrer/", $referrer )) {
$validreferrer = 1 ;
break ;
}
$authreferrer = next( $validprefixes );
}
return $validreferrer ;
}
$image = $_GET['image'] ;
$referrer = getenv( "HTTP_REFERER" );
if (isset($image)) {
if (isreferrerokay($referrer)) {
$imagepath = $imagedir . $image ;
$imageinfo = getimagesize($imagepath);
if ($imageinfo[2] == 1) {
$imagetype = "gif" ;
}
elseif ($imageinfo[2] == 2) {
$imagetype = "jpeg" ;
}
elseif ($imageinfo[2] == 3) {
$imagetype = "png" ;
}
else {
header( "HTTP/1.0 404 Not Found" );
exit ;
}
header( "Content-type: image/$imagetype" );
@readfile( $imagepath );
}
else {
header( "HTTP/1.0 404 Not Found" );
}
}
else {
header( "Location: $homepage" );
}
?>
img tag die gebruik maakt van het script.
<img src="plaatjes.php?image=test.gif" alt="testplaatje">
| PHP links, naslagwerken en broncode sites |
Last update: 29-05-2011
Disclaimer.
Hoewel de heer Hein Pragt de informatie beschikbaar op deze pagina met grote zorg
samenstelt, sluit de heer Pragt alle aansprakelijkheid uit met betrekking tot
de informatie die, in welke vorm dan ook, via zijn site wordt aangeboden. Het
opnemen van een afbeelding of verwijzing is uitsluitend bedoeld als een mogelijke
bron van informatie voor de bezoeker en mag op generlei wijze als instemming,
goedkeuring of afkeuring worden uitgelegd, noch kunnen daaraan rechten worden
ontleend. Op de artikelen van de heer Pragt op deze Internet Site rust
auteursrecht. Overname van informatie (tekst en afbeeldingen) is uitsluitend
toegestaan na voorafgaande schriftelijke toestemming van de rechthebbende. Voor vragen
over copyright en het gebruik van de informatie op deze site kunt u contact opnemen
met: (email: copyright@heinpragt.com)
Webdesign: © Hein Pragt
Fotografie: © Hein Pragt
Auteur: © Hein Pragt (Veenendaal - Utrecht - Nederland)
Privacy beleid
Wij maken gebruik van externe advertentiebedrijven om advertenties weer te geven wanneer u onze website
bezoekt. Deze bedrijven gebruiken mogelijk informatie (niet uw naam, adres, e-mailadres of telefoonnummer)
over uw bezoek aan deze of aan andere websites om advertenties weer te geven over goederen en services
waarin u wellicht geïnteresseerd bent. Als u hierover meer informatie wenst of als u wilt voorkomen dat
deze bedrijven deze informatie gebruiken, klikt u op
deze link.
|