Hein Pragt Heinpragt.com   
© Hein Pragt ( Facebook ,  Google auteur )

 
 
Themapagina PHP
© 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

Cursussen en Tutorials

Design Web
Finalwebsites
Monstar
Wikipedia PHP
Wikibook PHP
Php4ever
Phpfreakz
PHPhulp
Scriptzine
Webmastercity
Webmensen
Online PHP boek
Tutorialguide
Planet sourcecode
Programmersheaven
Devshed PHP
Web Knowledge Online
Sitepoint

(My)SQL en database info

MySQL based website
SQL course
SQL course 2
MySQL op linux
MySQL en PhP
Site van MySQL
Database Enabled Websites
SQL tutorial

XML

PHP en XML
XML-PHP scripts
PHP-XML classes
XML parser functies

Webservers

USB webserver
Apache webserver
PHP en Apache op Linux
PHP4 voor apache op linux
Apache Today
PHP voor Macintosh
Wamp server (Windows Apache Mysql en PHP in één pakket).
Linux / Windows (Apache MySQL, PHP en Perl in één pakket).
Lamp server (Linux Apache Mysql en PHP in één pakket).

PHP Scripts

HotScripts
PHP Classes
PHP Code Exchange
PHP Resourceindex
PHPbuilder
Scripts.com PHP
Tweakzone
Weberdev

PHP tools

Offline PHP Testing
CodeCharge
Asp2php
UltraEdit
Multi-Edit
ED for Windows
PHPDev
PHTML Encoder

Officiele PHP sites

PHP Homepage
PHP Documentatie
PHP3 Faq
PHP Manual
PHP Downloads
Php.nederland.net
Site van Zend



Last update: 29-05-2011

Wilt u deze site steunen dan kunt u dit doen door VIA deze site iets te bestellen op:
bol.com Partner


Internet techniek



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 Internetsite 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)

De groep sites van Hein Pragt bestaat uit: www.heinpragt.com    www.eroses.eu    www.pragt.info    www.zxy.nl/vraagbaak    www.codebank.nl