30 april, 2009

Office Powerpoint 2007: Gratis mallar för presentationer

Letar du efter nya mallar (eng. templates) till ditt Microsoft Office Powerpoint 2007 (eller 2003)? I så fall behöver du inte söka längre eftersom jag här nu vill tipsa om en bra källa för nedladdningar av mallar.

Webbsidan jag vill tipsa om [1] hör faktiskt till Microsoft själva och de har publicerat ett par gratis mallar som är tillgängliga för alla. Några är riktigt snygga medan vissa är lite sämre utformade. Alla mallarna finns representerade av grupper så det är enklare att finna en presentationsmall som passar just dig.

Det finns även mallar för de som vill presentera fotoalbum, projektplaneringar, affärer, ekonomi, företag och många fler. Se exempel bild 1.


(Klicka på bilden för att förstora) Bild 1

Finner du ingen mall som passar dina behov kan du ju alltid googla. Tänk bara på att det kan förekomma virus i nedladdningsbar media så du bör ha ett fungerande och uppdaterat antivirusskydd på din dator.

Källa
[1] Presentations - Templates (http://office.microsoft.com/en-us/templates/CT101172721033.aspx)

28 april, 2009

Säkerhet/Webbutveckling: Stjäla källkod från PHP/ASP/JSP

Förord
Denna artikel handlar om ett sätt att få tag på källkoden för ett serverbaserat skript som exempelvis PHP, ASP (även .NET) och JSP med flera. Observera dock att det inte går på alla servrar och skript. Det hela går ut på att utvecklaren inte tänker igenom sin uppladdning och redigering av skripten tillräckligt.

Introduktion
Jag har för mig att jag har läst om detta någonstans på Internet i en artikel om just säkerhet vid webbutveckling och nu upptäckte jag det själv av en slump och lite nyfikenhet. Det går att visa källkoden för serverbaserade skript som t.ex PHP, ASP och JSP på några olika sätt och ett av dem tänker jag beskriva lite för er om nu i denna artikeln.

Server Operativsystem
Min testserver Apache2 kör på Ubuntu 8.10 med PHP 5.2.6 och säkerhetsbristen kan fungera även på andra system men det har jag inte prövat. Som textredigerare för skripten använder jag programmet gedit, men i vanliga fall använder jag Zend Studio.

Vad är säkerhetsbristen?
Bristen går ut på att vissa textredigerare sparar en säkerhetskopia av skripten innan de sparas. I Ubuntu 8.10 Intrepid använder jag gedit för teständamål och utan att jag tänkte på det så skapade programmet säkerhetskopior av mina php-skript och placerade dem i samma katalog. Det är ju bra att det gör det automatiskt men ur säkerhetssynvinkel är det dåligt.

Varje säkerhetskopia får suffixet "~" (se exempel 1)
Exempel 1:
index.php redigeras och sparas vilket även skapar filen index.php~
Om man sedan råkar kopiera alla filerna (även inkluderat säkerhetskopiorna) till sin produktionsserver så har man en ganska stor säkerhetsbrist. Detta händer ibland och det räcker med att utvecklaren inte tänker på det och glömmer det en gång. Då sparas en extra kopia med källkoden som kan laddas ned istället för att tolkas av PHP interpretatorn hos Apache.

Laga säkerhetshålet
I programmet gedit som jag använder kan man välja att ställa in så att inga säkerhetskopior skapas före man sparas sina dokument (i vårt fall skript).
gedit > Edit > Preferences > Editor
Ta bort markeringen för "Create a backup copy of files before saving". Se bild 1.

(Klicka på bilden för att förstora) Bild1
Ta bort markeringen för att inte spara några kopior av filerna du redigerar.

Observera att du inte få glömma att radera eventuella säkerhetskopior som redan har sparats vid ett eller flera tidigare tillfällen.

Resultat av säkerhetshål

(Klicka på bilden för att förstora) Bild 2
Skriptet som körs är http://localhost/phpinfo.php


(Klicka på bilden för att förstora) Bild 3
Om man istället går till URL http://localhost/phpinfo.php~ visas källkoden för phpinfo.php från en säkerhetskopia.

Analys
Allt går ut på att utvecklaren är klantig och missar att det även finns gamla säkerhetskopior av skripten i den publika webbkatalogen som är tillgänglig för alla besökare. Om någon besökare är illvillig så kan det hända att han eller hon prövar att lägga till tecknet tilde "~" efter ett filnamn.

Hacket har störst chans att lyckas om det underliggande operativsystemet för servern är någon typ/variant av Linux/Unix (*nix) eller om utvecklaren sitter och programmerar i en sådan miljö lokalt på sin dator (server kan då vara t.ex IIS) och sedan laddar upp alla filer (alla skript inklusive säkerhetskopior) till den publika servern.

Det behöver inte vara "~" (vanligen kallas det för temporär i *nix) som läggs bakom utan även ".bak" som står för backup som är vanligt i Windowssystem.

Slutord
Var försiktiga och tänk noga på att det kan finnas en kopia av din kod som går att ladda ner. Man behöver endast gissa sig till filens filändelse (suffix).

I denna artikeln beskrev jag hur man på ett sätt kunde få tag på källkoden för ett serverbaserat webbskript (t.ex PHP, ASP, JSP, ...) genom att ladda ner publika säkerhetskopior från webbservern.

27 april, 2009

Cisco: Feature navigator

Jag vill tipsa er om en superbra webbsida som Cisco har skapat där man kan kolla upp vilka funktioner och plattformar man kan få tillgång till när man söker efter ett IOS för en Cisco enhet (t.ex router, switch). Webbsidan heter Feature Navigator [1] och används för att se vilka IOS som passar till vald modell.

Exempel
Hemma använder jag en c2610 router för labb och övningar. När jag ville kontrollera om den hade stöd för IPSec, brandvägg och IDS så sökte jag efter ett passande IOS via Feature Navigator [1].

Den är mycket användbar när man söker efter passande IOS för laborationer i Dynamips/GNS3.

Referenser
[1] Cisco Feature Navigator (http://tools.cisco.com/ITDIT/CFN/jsp/index.jsp)

22 april, 2009

Ubuntu/PHP/Apache: Sätta upp webbserver i Linux Ubuntu

Detta är mest ett tips för mig själv för att jag inte skall glömma bort var jag fann denna fantastiska guide [1]. Guiden går igenom om hur man sätter upp Apache, PHP, MySQL i ett Ubuntu system. Jag fann guiden via Netbeans och jag tror även att det går att använda Netbeans IDE på Ubuntu men är inte riktigt säker.

Om det går så har man en bra PHP-editor tillgodo eftersom Netbeans har det stödet inbyggt i senare versioner.

Framtiden
Inom kort kommer jag dokumentera exakt hur man installerar en webbserver med mod_rewrite, gd2 och en MySQL-databas i Ubuntu.

Källor
[1] Configuring the PHP development environment in Linux Ubuntu

16 april, 2009

Linux/Ubuntu: Radera 5 äldsta backup filerna

Just nu arbetar jag med att försöka lära mig GNU/Linux Ubuntu v8.10 eftersom det är en del av mitt och en klasskompis examensarbete.

Jag sitter och försöker konfigurera och ändra lite inställningar via terminalen och har därför automatiskt skapat säkerhetskopior (eng. backup) av filerna jag ändrar ifall något skulle gå snett. Men nu är det så att antalet säkerhetskopior börjar bli väldigt många och det börjar bli svårt att hantera.

Därför har jag skapat ett Shell skript som raderar de fem filerna som har ändrats för längst tid sedan (eng. modification time) och skriver ut ett fint litet meddelande för att informera användaren. För att detta skall ske måste det finnas minst sex stycken säkerhetskopior som har suffixet (filändelsen) *.bak

Allt detta sker innan jag skapar en säkerhetskopia. Här nedanför kan ni se koden för mitt Shell skript.

deloldbak.sh

#!/bin/bash
#
#test
#if expr length $(echo hello) '<' 6 >/dev/null; then
# echo mindre än 6 tecken
#fi
#
#-----------------
# expr length -- beräknar längden på strängen som parameter
# expr -- beräknar utrycket som parameter
#------------------
#
# License: Open source but leave this comments if you want to use my code
# Licens: Öppen källkod men lämna dessa kommentarer om du vill använda min kod
# Date: 2009-04-16
# Owner: Waschman
# URL: http://waschman.blogspot.com
#


# Tar bort de fem äldsta backup filerna från aktuell katalog men
# bara om det existerar fler än 6 säkerhetskopior
if expr $(ls -lt | grep '\.bak$' | wc -l) '>' 6 >/dev/null; then
echo 'Too many backups... removing the 5 oldest backups'
# För varje fil som hittas i utskriften så körs kommandot 'rm'.
# '{} \;' anger att kommandot är slut.
find $(ls -t | grep '\.bak$' | tail -5) -exec rm {} \;
else
echo 'We only have a small amount of backups: not removing any backups'
fi
Ni kan skapa filen med kommandot gedit, nano, vim, eller någon annan textredigerare:
Exempel:
~$ gedit deloldbak.sh
Gör den sedan körbar:
Exempel:
~$ chmod +x deloldbak.sh
Kör skriptet i terminalen:
Exempel:
~$ ./deloldbak.sh
Jag kände bara för att dela med mig av skriptet till allmänheten.

Tips!
I shell-skriptet använder jag $(...) vilket omvandlar utskriften från kommandot innanför paranteserna till en text (eng. string, sv. sträng) som sedan kan behandlas av ett annat kommando. I mitt fall skickas strängen till kommandot expr.

Nu tänker jag gå och lägga mig för i morgon (egentligen idag) skall jag bara slappna av och ta en åktur på mina inlines. Tills dess önskar jag er "happy programming".

Källor
http://www.howtogeek.com/howto/ubuntu/delete-files-older-than-x-days-on-linux/

14 april, 2009

Examensarbete: Test av tunn klient

Detta är ett testmeddelande från en av mina testklienter i VMware som körs som en tunn klient mot en LTSP-server i Ubuntu v8.10 (Intrepid Ibex).

Min testmiljö ser ut på följande sätt:
  • Jag har en vanlig hemma-router Netgear WGR614 som är kopplad via Cat5 ethernet till min stationära PC.
  • På min PC kör jag VMware med två virtuella maskiner (VM). En av dem kör Ubuntu 8.10 LTSP server med två nätverkskort och den andra är helt tom (50MB) och inställd på 128MB RAM-minne och ett nätverkskort.
  • Min tomma VM startar upp via nätverket: PXE Network Boot.
  • För att den skall kunna starta måste servern köra DHCP och skicka ut speciella parametrar. Därför måste man stänga av DHCP på min Netgear WGR614 annars krockar protokollet.
  • Starta min tomma VM och vips så har man en tunn klient som kör Ubuntu via nätverket. Hur smidigt som helst!

-------

Jag och en klasskompis arbetar just nu med vårt examensarbete och i skolan har vi en suverän labbmiljö där vi testar att sätta upp tunna klienter mot en GNU/Linux server som kör LTSP - Linux Terminal Server Project. Serverversionen är Ubuntu 8.10 och de avbildningsfiler som skickas ut till klienterna i nätverket kör också Ubuntu 8.10 fast en nedbantad version.

Exakt vad vi skall använda detta till vår jag inte tala om men en sak är säker... det kommer gå jättebra.

Just nu söker vi efter en GUI-baserad kontrollpanel för LTSP och två alternativ har dykt upp.
  • Landscape
  • LTSPManager
Efter en snabb undersökning tror jag vi kommer använda LTSPManager. Mer tänker jag inte avslöja ;)

- Waschman

08 april, 2009

Photoshop: Lära sig använda Photoshop CS3/CS4

Nu till sommaren planerar jag att lära mig redigera bilder Photoshop CS3 eller CS4. Jag är nämligen webbutvecklare på fritiden och jag känner att jag vill förbättra mina kunskaper inom bildredigering och hur man kan skapa snygga "eng. Gradients", knappar, bakgrundsbilder med mera.

Notis: För er som undrar så berättar jag att jag även känner till programmet Gimp till GNU Linux som är nästan lika funktionsrikt men gratis.

Jag gick en väldigt grundläggande kurs om Photoshop 7 när jag gick på gymnasiet. Då var det inkluderat i Estetisk verksamhet (bild och musik). Men lärarna var ju inte så bra på att lära ut så man fick inga riktigt bra tips på hur man kunde lära sig programmet på egen hand. Personligen tycker jag att man lär sig bäst genom att pröva sig fram men Photoshop var lite svårt då tyckte jag, lager, skuggor, framhöva olika lager, ljussättning, etc.

Men när jag häromdagen läste en artikel om tio bra designtekniker vid webbdesign så kände jag ett starkt intresse som väcktes till liv - jag ville lära mig använda Photoshop på riktigt.

Jag har hittat några bra guider på Internet om hur man kan gå tillväga för att lära sig bemästa programmet på bästa sätt men jag ställer även samma fråga till alla er som läser bloggen eller som bara hälsar på en kort stund.

Finns det några där ute som är intresserade utav Photoshop CS3/CS4 och som känner att ni vill bidra till några bra webbresurser där man kan lära sig Photoshop från grunden och upp med enkla exempel som vem som helst (nästan) kan följa? Klicka bara på länken "Skriv en kommentar" för att hjälpa till.

Här under rubriken "webbresurser" listar jag några resurser som jag tycker verkar bra.

Webbresurser
Photoshop Guider för Nybörjare - 35st
Använda Lager i Photoshop och hur det fungerar
Devello Photoshop Tips
Photoshop 7.0 grunder (pdf)
Good-Tutorials Photoshop
Adobe Photoshop Tutorials
Watch and Learn Photoshop CS4

Välkomna till bloggen

Välkomna ska ni vara kära besökare. Jag skriver om IT för att det är kul och för att jag vill dela med mig av information och kunskap. Jag försöker hålla bloggen så kategoriserad som möjligt för att ni enklare ska hitta intressanta länkar och artiklar.