(tieto)tekniset jutut

Navigointi

Kesäkuun 2007 kirjoitukset

Viimeksi kommentoidut

Luokat

Arkisto

URIBL ja SURBL DDoSsattuna

Näyttäisi ainoat ja parhaat URI-mustalistat olevan botnet-hyökkäyksen kohteena, kävi ilmi SpamAssassinin postituslistalta.

Eräs kirjoittaja totesi osuvasti:

Forget national id cards. How about a license to operate a computer? Everyone running unpatched, unfirewalled windows, please shutdown now.

Vaikka onkin niin, että sisältöperustainen spämmin torjunta ei ole oikeastaan kovin viisasta (vaikkakin välttämätöntä), ei voi muuta sanoa, kuin että kyseiset listat torjuvat spämmiä erittäin tehokkaasti hyvin vähin väärin positiivisin, ja niiden pitkäaikainen toimimattomuus olisi erittäin haitallista. Nyt varmaankin spämmääjät rynnivät perustamaan uusia domaineja, joita ne sitten sisällyttävät spämmeihinsä.

Panokset kovenevat. Mitähän seuraavaksi.

Postattu 2007-06-07 kello 11:41 – kuuluu luokkaan: (roska)postipermalinkki
ei kommentteja – lisää kommentti

Syötteistä

Feed icon

Mozilla on kehittänyt pelisäännöt selaimen osoiterivillä näkyvän syöteikonin käyttöön. Monet web-selaajat jo tunnistaa kuvan ja tietää, että sillä tarkoitetaan syötettä tai uutisvirtaa. Vihkiytyneemmät tietävät, että syöte on XML-muotoinen esitys jostain sisällöstä, jonka surffaaja voi sitten näyttää haluamallaan ohjelmalla tai tavalla, jopa räätälöimällään ulkoasulla tai muiden syötteiden joukossa.

Blogeja voi siis vallan helposti lukea vierailematta juuri koskaan itse blogisivustolla. Toki kommenttien jättäminen ja seuraaminen voi olla mukavampaa, kun itse sivu on siinä selaimessa.

Itsekin seuraan blogeja, joita seurannassani on kymmeniä, varmaan jo lähemmäs sataa kuin viittäkymmentä, juuri tähän tapaan. Käytän KDE:n mukana tulevaa ohjelmaa nimeltä Akregator. Myös Thunderbird osaa ilmeisesti näyttää feedit luettavasti. Uusi Firefox 2.0 myös näyttää ne suoraan klikkaamalla. Vanhakin versio osasi näyttää ne "Live Bookmark"-nimellä.

Myös Microsoft on ilmoittanut poikkeuksellisesti omaksuvansa tämän Mozillan kehittämän ikonin käyttöönsä, eikä sooloile omiaan. MS tulee tässäkin asiassa tosin niin jälkijunassa, että sooloilu näyttäisi vain hölmöltä.

Syötteitä on kahta samankaltaista, mutta kuitenkin erilaista XML-formaattia, Atom ja RSS. Käyttäjälle näissä ei ole juuri eroa, mutta sanottakoon, että RSS on vanhempi, ennen blogien yleistymistä kehitetty formaatti, jolle ei kuitenkaan ole varsinaista standardia. Atom kehitettiin sen pohjalta, ja soveltuu tarkoitukseen paremmin, ja on lisäksi virallisempi standardi (RFC 4287). Suosikaamme sitä.

Tätä blogia voi seurata www-sivun lisäksi Atom 1.0 ja RSS 2.0 -formaateissa. Lisäksi myös kommentit on saatavana syötteenä (Atom 1.0). Linkit oikeassa laidassa.

TODO: Selvitä, voiko Atom- ja RSS-syötteisiin kytkeä XSL-tyylit vai menevätkö lukijat rikki tms.
Postattu 2007-06-01 kello 16:02 – kuuluu luokkaan: blogipermalinkki
ei kommentteja – lisää kommentti

PHP ja UTF-8

Ei olisi kuvitellut, että yksi suosituimmista web-ohjelmointiin käytetyistä kielistä, PHP, ei oletusarvoisesti osaa UTF-8-merkistökoodausta vuonna 2007, maailmassa, jossa aika suuri osa netin käyttäjistä on äidinkieleltään muita kuin englanninkielisiä.

UTF-8 on Unicode-merkistön tavallisin merkistökoodaus, joka esittää jokaisen merkin yhden–neljän tavun sarjoina. Sillä voidaan esittää karkeasti ottaen kaikkien kielten kaikki merkit, minkä voisi kuvitella olevan aika iso juttu monikielisessä maailmassa. Unicode on aika laaja merkistö.

World Wide Webin perusprotokollan, HTTP:n, oletusmerkistö on kuitenkin ISO Latin 1 (ISO-8859-1). Se on käytännössä webissä de facto -standardin asemassa, ainakin jos asiaa tarkastellaan läntien Euroopan vaikutuspiirin näkökulmasta.

ISO Latin 1 on laajempi kuin pelkän englannin esittämiseen soveltuva ASCII, ja sillä voidaan esittää oivasti esimerkiksi skandinaaviset merkit å, ä ja ö. Muitakin merkkejä on, mutta tuoreempi €-merkki tai š vaatii jo ISO Latin 9 (ISO-8859-15) -merkistön, jos halutaan pysyä Latin-merkistöissä. Unicode-merkistöllä nämä kaikki sujuvat ongelmitta. Merkistöistä erinomaista lisätietoa löytyy kaimani Korpelan sivuilta

PHP:ssa kuitenkin ollaan jumituttu tilanteeseen, jossa kieleen on rakennettu omituisia oletuksia. PHP:ssa yksi merkki on aina yksi oktetti (tavu), ja monitavuiset merkistöt, kuten UTF-8, ovat perustavanlaatuisesti rikki. Suurin osa PHP:n string-funktioista laskee tai ymmärtää merkkijonot väärin. Esimerkiksi strlen() tai substr() laskevat merkkijonojen pituudet väärin, ja tästä seuraa omituisia bugeja.

Näin siis, mikäli PHP-tulkkiin ei ole käännetty mbstring-laajennosta päälle. PHP:ssa on siis olemassa laajennos, joka kuormittaa ongelmalliset funktiot samannimisillä, mutta multibyte-yhteensopivilla versioilla. Tästä seuraa kuitenkin ongelmia koodin siirrettävyyden näkökulmasta. Kuluneen kevään aikana suorittamamme ohjelmistotuotantoprojektin kehittämässä tuotteessa ehkä keskeisin bugi johtui tästä. Sitä oli mahdollisesti testattu PHP-ympäristössä, jossa mbstring oli käännetty päälle. Ratkaisimme ongelman käyttämällä ulkoista kirjastokomponenttia, joka tarjoaa ehjät versiot PHP:n rikkinäisten funktioiden tilalle. Se käyttää myös mbstring-laajennosta, mikäli se on saatavilla. Tulipahan ainakin siirrettävää koodia.

Tämä on siis syytä ottaa huomioon aina PHP:lla koodatessa, jos on  olemassa pienikin mahdollisuus, että joudutaan käsittelemään UTF-8-koodattuja merkkijonoja. Ja tämä mahdollisuushan on erittäin todennäköinen, koska UTF-8:n käyttöön siirrytään koko ajan kiihtyvällä tahdilla. Mikä on sinänsä erinomaista. Harmi, ettei maailma ole siihen viel ä valmis. Kannattaa ainakin tarkistaa, mitä kaikkia funktioita ongelma koskee.

Postattu 2007-06-01 kello 14:21 – kuuluu luokkaan: ohjelmointipermalinkki
ei kommentteja – lisää kommentti

Uusi blogisofta

Tuli sitten koodatuksi uusi blogisofta. Alustana aika perinteinen Linux-Apache-MySQL-PHP-yhdistelmä. Tehty aiemmin käyttämäni Nucleuksen käyttöliittymän pohjalta, ja sisältää muutaman koodirivin (ehkä parikymmentä) Nucleuksen koodia. Muuten koodia onkin jo yli 3000 riviä. HTML:n ja XML:n tulostaminen vaatii paljon tilaa. Mutta ylläpitotoimintojen ja -käyttöliittymän teko on kyllä oikeasti työlästä. Varsinkin kun pitää huolehtia käyttäjäinputin validoinnista.

Tein oman softan, koska Nucleusta ei saanut helposti konfiguroitua mieleisekseni. Tai ehkä en vain jaksanut yrittää. Sitäpaitsi koodaaminen on ihan kivaa (jos ei lasketa käyttäjien syötteiden validointia, johon kuluu ehkä eniten aikaa ja koodirivejä).

Mulla on myös krooninen blogispämmiongelma normaalin blogin kanssa, johon toistaiseksi ratkaisu on ollut spämmikommenttien poistaminen käsin ja kyseisten kirjoitusten kommenttiosion sulkeminen (jostain syystä kyseinen spämmäjä yrittää vain samoihin artikkeleihin, kunnes ajan kuluttua löytää uusia). Enkä tietenkään haluaisi sulkea kommentointia saati pakottaa rekisteröitymään tai muuta hölmöä. Nyt kommentin syöttäjä joutuu syöttämään myös satunnaisen numerosarjan. Katsotaan, ehkäiseekö se ongelman.

Lisäksi tietysti on turvallisuusnäkökohdat. Nucleus on niin laajalle levinnyt ohjelmisto, että lienee todennäköistä, että siitä aktiivisesti etsitään hyväksikäytettäviä tietoturva-aukkoja. Oma Nucleus-versioni on sen verran pahasti itse puukottamani, että sen päivittäminen on aika hankalaa. Tietysti yritän itse tehdä turvallista koodia. PHP:lla on kyllä helppo koodata hevosenmentäviä turva-aukkoja, ja niitä tyypillisesti onkin, koska PHP-koodaajat eivät yleensä ole niitä valistuneimpia.

Tarkoituksenani on tietysti avata tämän blogiohjelmiston (Hukkablog) lähdekoodi, kunhan saan sen sille mallille, että sitä kehtaa maailmalle näyttää. Siitä puuttuu vielä osia.

Tässä uudessa blogissa pääsen kertomaan tästä ja muista teknisistä seikoista, jotka tuskin kiinnostavat suurinta osaa varsinaisen blogini lukijoista.

Postattu 2007-06-01 kello 12:28 – kuuluu luokkaan: blogipermalinkki
1 kommentti