Arkiv for februar 2008

Stop censur af internettet!

I Danmark er vi begyndt at pålægge internetudbyderne at censurer visse internetadresser fra. Det er en skræmmende udvikling, da internettet hele tiden har været påtænkt at være frit for alle.

Det startede med at Fodegretten krævede at Tele2 skulle lukke for adgangen til Allofmp3. Denne dom blev brugt til, at presse andre udbydere til at gøre det samme. Allofmp3 er en russisk website, der sælger musik til næsten ingen penge, heriblandt også ophavsbeskyttet musik, uden at ophavsejeren får penge for det. Senere blev det Allofmp3s efterfølger Mp3sparks. For god ordens skyld skal det nævnes at Allofmp3 og Mp3sparks er fuldt lovlig i Rusland, hvorfor de heller ikke er lukket ned. De har været for retten i Rusland, hvor ejeren vandt sagen og blev frifundet. Sagerne i Danmark blev startet af IFPI, der er pladeselskabernes brancheorganisation.

Nu er turen så kommet til ThePirateBay, hvor IFPI har fået Fogedretten til, at kræve adgangen lukket hos Tele2. ThePirateBay er placeret i Sverige, hvor den er fuldt lovlig. ThePirateBay er en torrent-tracker, og indeholder torrent filer til såvel lovlige som ulovlige filer. Langt de fleste filer, der linkes til, må dog nok karakteriseres som værende ulovlige, men der foreligger inden beviser for denne påstand. Dertil er det vigtigt at notere, at ThePirateBay ikke hoster de ulovlige filer. De hoster torrent-filerne, der linker til de ulovlige filer.

Lukningen har skabt store røre – både hos internetudbyderne, men også hos danskerne, der er ved at være godt trætte af censurering af vores internet. Hvis jeg husker ret, er der ikke andre lande i vesten, der har nogen form for censur af deres internet.

I tiden er vi meget oppe at køre over vores ytringsfrihed. Praktisk talt alle aviser er enige på dette punkt. Alligevel forsøger private organisationer (bl.a. IFPI) at censurer. En anden sjov ting er også, at JP/Politikens hus er med i sagen vedr. lukningen af ThePirateBay.org. En avis, der i længere tid har kæmpet for ytringsfriheden og ingen censur, forsøger nu selv at pålægge internetudbydere censur.

Personligt mener jeg, at censurering af vores internet er helt forkert. Det er den forkerte måde, hvorpå man prøver at løse et problem på - nemlig fildelingsproblemet.

Internetudbyderne skal pludselig have en faderrolle overfor deres kunder, og fortælle dem hvad de må og ikke må. Det svarer – for mig – lidt til at en bilsælger skal sørge for, at bilkøberen ikke kommer til at køre for stærkt i den bil, som han køber. Det er praktisk talt umuligt. Det er også tilfældet her, hvor den blokering, der er brugt til de førnævnte websites kan omgåes på 30 sekunder. Man kan blot sætte sin computer (eller router) til at benytte andre DNS-servere end sin udbyders, og wupti, så har man igen fuld adgang til både Allofmp3, mp3sparks og ThePirateBay.

Det næste er nu, at IFPI mener, at internetudbyderne skal til at foretage en filtrering af trafikken på pakkeniveau (data sendes over netværk/internet i små pakker frem og tilbage). Dette er sådan set en umulig opgave, da det for det første vil pålægge internetudbyderne utrolig høje omkostninger til udstyr og drift af et system til at tjekke det og filtrer fra. Samtidig vil internetbrugeren blot kunne kryptere trafikken, hvorefter internetudbyderen ikke vil have mulighed for at tjekke indholdet af dataene og dermed erklære det for lovligt eller ulovligt.

Jeg forsøger med ovenstående ikke på nogen måde at retfærdiggør fildeling. Fildeling er ulovligt, og det skal det også være. Jeg synes blot, at det er helt hen i vejret, at vi her i Danmark skal til at indføre censur over internettet, hvis grundprincipper er, at det er frit for alle!

Tele2 vil dog tage sagen op i retten, da både Tele2 og alle andre internetudbydere her i Danmark er uenige med Fogedrettens afgørelse. Det bliver spændende at se resultatet.

Jeg vil desuden lige give et link til, hvordan man kan omgå denne censurering. Guiden er lavet af Piratgruppen.

Konventer HD-DVD film til Blu-ray

Mange der havde håbet på at HD-DVD vandt medie-krigen for det nye film-format ærgrer sig nok over købet af deres HD-DVD film nu.

Det kan der dog godt ændres ved, da Wired nu har frigivet en guide til, hvordan man koventere HD-DVD over til Blu-ray. Løsningen er dog dyr og tidskrævende, så spørgsmålet er, om det ikke er billigere at købe filmene på ny, når de højst sandsynligt kommer på Blu-ray.

Det hele er dog beskrevet i denne guide.

Pæne URL-adresser med htaccess

Det er atter blevet tid til et blogindlæg vedr. udvikling (eller nok nærmere teknologi).

Denne gang har jeg valgt at kigge på hvordan man på en enkel og smart måde kan lave www.frande.dk/artikler.php?kategori=html&artikel=introduktion om til www.frande.dk/artikler/html/introduktion/. Det er faktisk slet ikke så svært, og det ser både bedre ud for den besøgende samt giver dem en bedre mulighed for at huske en direkte adresse til undersider på din hjemmeside. Et ekstra plus er også, at adressen bliver optimeret bedre til søgemaskinerne pga. man ikke har parametre sat på adressen.

Allerførst er der nogle krav, der skal opfyldes, for at alt dette kan lykkes. I dette eksempel vil vi arbejde med Apache (web-server) modulet mod_rewrite. Det er derfor et krav, at mod_rewrite er aktiveret på web-serveren, samt man har mulighed for benytte sig af htaccess på serveren (har man en udbyder til at hoste sin hjemmeside, er det ikke altid sikkert, at de tillader denne mulighed – men spørg din udbyder, måske du er heldig!).

Det første man skal gøre er at oprette filen “.htacces”. Det er vigtigt, at den hedder præcis “.htaccess” og ikke andet. Der må ikke være noget foran punktummet. Oftest får man ikke lov til at kalde en fil .htaccess på en Windows-baseret PC. Jeg plejer derfor oftest at kalde filen htaccess.txt, og så omdøber jeg den til .htacces, når jeg ligger den op på web-serveren.

Når filen er oprettet, skal vi igang med at arbejde med den. Det første man skal gøre er, at fortælle, at man nu vil aktivere mod_rewrite modulet. Det kommer til at se sådan her ud:

  1. RewriteEngine on

Herefter skal man definere, hvordan man ønsker at lave de pæne URL-adresser.
Tager vi udgangspunkt i mit tidligere eksempel på en grim URL-adresse, som vi gerne vil have til at se pæn ud, så kunne .htaccess-filen komme til at se sådan her ud:

  1. RewriteEngine on
  2. RewriteRule ^/artikler/(.+)/(.+)/$ artikler.php?kategori=$1&artikel=$2

Ovenstående lille stykke “kode” kræver at man har en smule kendskab til regulære udtryk. Det kan være en smule svært at sætte sig ind i, men det er meget godt at kunne.

Basalt set betyder det, at hvis brugeren indtaster www.frande.dk/artikler/html/introduktion/ i browseren, så vil web-serveren (uden at den besøgende kan se det) i stedet kalde filen artikler.php med parametrene kategori = html & artikel = introduktion.

(.+) betyder basalt set, at den tager imod både bogstaver og tal.
Man kunne også have brugt ([0-9]+]), men så ville man kun sende tal med over. Et eksempel herfor kunne være:

  1. RewriteEngine on
  2. RewriteRule ^/artikler/(.+)/([0-9]+)/$ artikler.php?kategori=$1&artikel=$2

Her ville det kræve, at brugeren f.eks. indtaster www.frande.dk/artikler/html/1/ i browseren.

Jeg håber, at det gav en lille forsmag til, hvad Apaches mod_rewrite modul kan give af muligheder – og at jeg i fremtiden vil se flere pæne URL-adresser, fremfor de grimme trælse URLs.

Blu-ray endelig vinder

Så kom dagen, hvor Blu-ray blev vinder af krigen om det nye medie-format.
De senere måneder havde peget meget på Blu-ray, så det kommer ikke som det store chok.

Dog først i dag kom udmeldingen fra Toshiba, at de opgav alt HD-DVD støtte, hvilket må erklæres for døden for HD-DVD.

Samtidig går der rygter om, at Microsoft allerede har en prototype af et eksterne Blu-ray drev til deres XBOX 360. Er det sandt, kan denne snart komme i produktion og ud til slutbrugeren.

Nyheden glæder specielt mig, da jeg allerede har en Playstation 3. Playstation 3 er – som de fleste nok ved – pt. en af de bedste Blu-ray afspillere. Derfor er det jo rart endelig at kunne ånde lettet op, og se sin investering (i både Playstation 3 samt diverse Blu-ray film) være helt rigtig.

Hip hip, hurraaaa!

Subdomæner med PHP

Subdomæner bruges i stor stil i dag til at brugere nemmere kan finde delindhold på websites.

Der er flere former for subdomæner. Der er dem, hvor:

  • subdomænet er oprettet på et seperat webhotel.
  • subdomænet er et “spejl” af en mappe (test.frande.dk har samme indhold som frande.dk/test/)
  • subdomænet viderestiller til et placering (test.frande.dk viderestiller til frande.dk/test/)

Jeg vil nu vise hvordan man med simpel PHP-kode, og en smule DNS-opsætning (bliver man ikke guidet igennem), kan lave subdomæner, der viderestiller til en given placering.

Jeg tager udgangspunkt i mit eget domæne (frande.dk), men vil gerne notere, at det ikke er sat op på mit domæne – det er ren eksempel!

Opsætning af domænets DNS

Opsætningen af domænets DNS er i dette eksempel meget vigtigt, at have på plads.

For at kunne opsætte viderestillingen via PHP, skal det ønskede subdomænenavn pege på selve “hoveddomænet”. Oftest vil man gøre det med et såkaldt stjerne-alias, hvor man siger, at *.frande.dk peger ind på samme webserver som frande.dk.

Dertil skal man sætte op på web-serveren at *.frande.dk skal pege ind på frande.dk.

I de fleste tilfælde vil man selv kunne sætte DNSen op, mens web-serveren oftest skal sættes op af ens udbyder.

Nu til det spændende

For at starte udvælger vi nogle subdomæner, som vi vil oprette, samt nogle placeringer.

jubii.frande.dk viderestiller til jubii.dk
galleri.frande.dk viderestiller til frande.dk/galleri/
links.frande.dk viderestiller til frande.dk/links.php

Herefter skriver vi følgende PHP-kode:

  1. <?php
  2. $redirect_to = "";
  3. if ($_SERVER[‘HTTP_HOST’] == "jubii.frande.dk")
  4.     $redirect_to = "http://www.jubii.dk/";
  5. else if ($_SERVER[‘HTTP_HOST’] == "galleri.frande.dk")
  6.     $redirect_to = "http://www.frande.dk/galleri/";
  7. else if ($_SERVER[‘HTTP_HOST’] == "links.frande.dk")
  8.     $redirect_to = "http://www.frande.dk/links.php";
  9.  
  10. if (!empty($redirect_to))
  11. {
  12.     header("Location: " + $redirect_to);
  13.     exit;
  14. }
  15. ?>

Det er vigtigt at koden ligger i index.php-filen i roden af webhotellet. Det er den fil, som man skal ramme som standard, når man indtaster f.eks. frande.dk i browseren.
Koden skal ligge allerøverst i filen og være det allerførste, der udføres. På den måde sikrer man, at der ikke udføres noget andet PHP-kode inden man viderestiller.

Nu til forklaringen af koden – det er jo vigtigt for forståelsen af, hvad der sker.

Jeg vælger, da der kan indtastet flere forskellige subdomæner, at gemme den adresse, der skal viderestilles til, i en variabel ($redirect_to).
Til at starte med sætter jeg derfor variablen $redirect_to til ikke at indeholde noget.

Derefter tjekker jeg om adressen, brugeren har indtastet i browseren, er en af de ønskede subdomæneadresser. Det sker vha. en såkaldt if-then-else sætning, hvor jeg spørger om variablen $_SERVER['HTTP_HOST'] er lig de forskellige subdomæneadresser. $_SERVER['HTTP_HOST'] indeholder den adresse, som brugeren indtaster i browseren. Såfremt $_SERVER['HTTP_HOST'] er lig én af de ønskde subdomæneadresser, tildeles variablen $redirect_to den adresse, der skal viderestilles til.

Til sidst tjekker jeg på om variablen $redirect_to er tom. Er den ikke tom, skal den sende data ud til brugerens browser om, at den i stedet skal efterspørge den side, som, der ønskes viderestillet til. Til sidst bruges metoden exit for at sikre, at der ikke udføres mere kode efter denne linje.

Alt i alt et meget simpelt script, der kan hjælpe til at forenkle mange ting. At bruge PHP til dette er blot én af mange måder, hvorpå man kan udføre ovenstående. Det vil jeg dog ikke kigge nærmere på.