Stikkordarkiv: Wordpress

Nærmer meg 10.000

WordPress pluginen XmasB Quotes har rukket å bli gammel. Og det har jaggu denne bloggen også.

Jeg begynte å skrive i 2006. Etter et års tid fikk jeg lyst til å ha sitater på siden min. Tilfeldige sitater skulle det være. Jeg gikk utifra at det fantes cirka en dullion plugins å velge blant, men slik var det ikke. De får jeg prøvde var enten for kompliserte (det er ingen kompleks oppgave), enkle eller fulle av bugs. Så jeg skrev min egen, kanskje først og fremst for å lære PHP bedre. Når jeg ser over koden idag har jeg selvsagt mest lyst til å skrive om alt sammen, men den virker og gjør det den skal, så jeg lar det prosjektet ligge. Tid har jeg for lite av allerede.

I skrivende stund har XmasB Quotes blitt lastet ned 7047 ganger. Med litt godvilje er det nesten 10.000 nedlastinger! Faktisk har den blitt lastet mer ned de siste to månedene enn noen gang. Når den bikker 10.000 skal jeg bruke alt jeg har tjent på den (via donations) og kjøpe meg noe fint. Foreløpig ligger det an til å bli en tre-pakk sokker. Ikke den dyreste varianten, men slettes ikke den billigste heller.

XmasB.com er hacket

Uten at jeg kan forklare hvordan er det nå ingen tvil. Bloggen er blitt hacket, og er full av usynlige linker.

Hacket? Det begynte med at jeg hadde noen problemer med en plugin. Mens jeg gikk gjennom filene som tilhørte denne, ble jeg oppmerksom på en del filer som ikke hørte hjemme der. Det var rene html filer som kun inneholdt lenker til diverse sider jeg ville holdt meg langt unna, de aller fleste relatert til piller og diverse medikamenter så langt jeg kunne tolke. I tillegg har flere av php filene som tilhørte temaet fått flere tusen skjulte lenker og mystisk kode jeg ikke orket sette meg inn i. At egendefinert brukernavn og passord var definert var ikke et godt tegn. Jeg slettet alt jeg kom over, og var ikke så opptatt av å dokumentere imens.

Hva nå? Jeg slettet de filene jeg hadde kommet over og lette gjennom alle kataloger på serveren i tilfelle det var flere, og er nå ganske overbevist om at jeg har fått ryddet unna det meste. Jeg vil heller få ryddet opp i rotet fremfor å benytte meg av backup og miste oversikten jeg har nå. Jeg skal ikke skryte på meg å ha dagsaktuell backup nå heller. Den siste jeg har er ivhertfall en god uke gammel, og jeg er ikke helt sikker på når hackingen skjedde uansett. Det er muligens lettere å benytte anledningen til å rydde litt. Så det har jeg gjort. Og jeg rydder fremdeles. Det meste er på plass igjen, men det nye temaet krever en del tilpasninger som jeg får ta etterhvert.

Kan det skje igjen? For å sikre meg mot fremtidige angrep har jeg selvfølgelig byttet passord på brukeren min, ftp kontoen og mySQL kontoen. I tillegg har jeg lastet ned WordPress på nytt i tilfelle det er blitt tuklet med filene, og byttet tema fordi jeg har bekreftet at filene der er blitt tuklet med. Jeg føler meg i det hele tatt ganske trygg nå. Men kan det skje igjen? Helt klart, men det er en del ting man kan gjøre for å beskytte seg. Skrivetilgang er nok et stikkord for meg, der har jeg slurvet litt. Utifra hvilke steder filer har dukket opp kan det se ut som om dette var den største tabben.

Hvorfor meg? «Man tenker aldri at det kan skje en selv, før det faktisk skjer». Hørt det før kanskje? Det er heldigvis bare en blogg, men ja, det føles litt sånn. Jeg tror de fleste blogger blir forsøkt hacket eller misbrukt på andre måter ofte. Jeg har tidligere fulgt nøye med på logger og konkluderte den gang med at det var for mange angrep til å følge med på. Det var lettere å bare glemme dem, og håpe at man er godt nok beskyttet. Og etterhvert begynner man kanskje å slurve litt… En erfaring rikere, selv om jeg ikke kan sikkert si at jeg kunne avverget hackingen. Mest sannsynling.

Jeg tror også pluginen min kan gjøre meg til en aktuell kandidat. Jeg er lenket til fra mange lister over WordPress plugins. Et greit utgangspunkt for en som måtte ønske å hacke en WordPress blogg. Skulle jeg skrevet kode for å angripe en WordPress blogg ville jeg også kanskej begynt der…

Nytt tema? At jeg har lagt ned mange timer for å det forrige temaet til å oppføre seg som jeg ville må jeg bare glemme. Jeg har lenge hatt planer om å bytte, men likte ikke tanken på all jobben som er lagt ned i det forrige. Det meste er faktisk inkludert i det temaet jeg nå har valgt likevel, og masse annet som jeg ikke har tenkt på engang. I like it! (Ja, det er selvfølgelig mye som gjenstår enda…)

Konsekvenser? Mitt forrige innlegg, Søkemotorene vil ikke lenger ha meg har ganske sikkert sammenheng med hackingen. Min egen teori er at alle linkene og html filene ga meg en ganske å herlig straff hos min største leverandør av søketreff, Google. Med mange tusen skjulte linker kan jeg bare anta at dette har dyttet meg langt ned blant søkene som kunne ledet hit. Jeg er heldigvis mer opptatt av de leserne som kommer tilbake, og der stiller besøkende fra Google som oftest dårlig. Men kjedelig er det likevel. Forhåpentligvis har jeg fjernet alt som kunne fortsette å gjøre skade. Noe av koden kom tilbake bare timer etter at jeg fjernet den igår… Vi får håpe jeg slipper det nå.

Er du trygg? I løpet av (snart) tre år med denne bloggen har jeg aldri hatt noen liknende problemer. Sannsynligheten er sånn sett heldigvis liten. Jeg ville likevel tatt noen forhåndsregler, som å sørge for at man har siste versjon (uansett plattform), ikke mer enn nødvendig tilgang på filområder, ftp og database, og gode passord. Helst forskjellig for innlogging til blogg, ftp og database. For andre WordPress bloggere vil jeg anbefalte å ta en titt på dette innlegget. (Takk til Kristin for linken via Twitter.)

3000 nedlastinger!

Og der rundet WordPress-innstikket XmasB Quotes 3000 nedlastinger. Det er morsomt å se at folk tester, og ikke minst bruker, koden jeg har skrevet. Jeg har mange funksjoner jeg skulle lagt til innstikket, men alrdi nok tid og/eller ork. Jeg skulle gjerne oversatt til flere språk, men snakker ikke så mange selv. AJAX skulle vært på plass for lenge siden, men jeg har kommet så langt som til å kikke på det engang.

Når jeg tenker meg om ser jeg en klar sammenheng mellom barn, ny jobb og lite tid. Merkelig det der?

Anyways… Tre ganger huzzah for meg! Huzzah, huzzah, huzzah!

Hjelp! Tegnsett skaper hodebry…

I forbindelse med oppstart av ny blogg ((Detaljer kommer senere…)) fant jeg ut at jeg også skulle oppdatere wp-config.php for denne bloggen. Dette gikk fullstendig uten problemer, med unntak av denne linjen: «define(‘DB_CHARSET’, ‘utf8’);»

Dersom jeg inkluderer denne blir alt av æ.ø og å kråketær deluxe. Den er derfor kommentert ut i skrivende stund. Jeg har forsøkt å endre via plugin, men uten hell. Tvert imot førte det til en full manuell recovey på bloggen. Det har jeg ikke lyst til en gang til.

Noen som har noen gode forslag til hvordan jeg kan få konvertert tegnsett fra latin1 til utf-8? I phpmyadmin ser jeg at «å»=»ÃƒÂ¥», «æ»=»ÃƒÂ¦» osv… Jeg forsøkte en replace() rett på tabellene for poster, men det skapte mye hodebry. Noen som har noen gode forslag?

Oppdatering: Jeg har fikset det meste. Jeg valgte å eksportere dataene fra tabellene wp_posts og wp_comments, for deretter å erstatte i filene jeg da fikk lastet ned. Dermed fikk jeg god kontroll på det jeg tuklet med, samtidig som jeg fikk backup av enkelttabeller i tilfelle det skulle gå galt. Jeg tok en tabell av gangen, og testet at ting så riktig ut. Nå har jeg kun endret for disse to tabellene, og det ser stort sett ok ut. Noe småtteri her og der, men det kan jeg ta når jeg ser det. Er det noen andre tabeller jeg bør se på?

Slette duplikater fra MySQL

Jeg har etterhvert skaffet meg en pen liten samling sitater i en MySQL tabell som brukes til WordPress-innstikket XmasB Quotes. I skrivende stund er det cirka 14000 ((Fjorten tusen, ja)) sitater totalt. Du ser et tilfeldig av disse til høyre på min hjemmeside.

14000 sitater er selvfølgelig ikke et resultat av manuelle måter å legge de inn på. Jeg har laget et lite program som gjør om en liste til MySQL setninger for å legge det inn. Dermed legger jeg inn flere tusen på noen sekunder, gitt at jeg har en liste over sitatene å hente fra. Som et resultat av denne måten å gjøre det på har jeg fått mange duplikater i samlingen ((Jeg kunne selvfølgelig sjekket for duplikater når jeg legger sitatene inn, men det gjør jeg altså ikke.)). Cirka 500 var det før jeg fjernet de tidligere idag. Så hvordan fjerner man duplikater fra en MySQL tabell?

Det finnes sikkert mange måter å gjøre en slik jobb på. Jeg valgte å gjøre det enkelt, med enkle spørringer og en midlertidig tabell.

  1. Først lager jeg en midlertidig tabell hvor duplikatene er luket ut: CREATE TABLE quotes_temp AS SELECT * FROM wp_xmasb_quotes GROUP BY quote, author Den nye tabellen vil nå kun inneholde sitatene hvor «quote» og «author» til sammen er unikt, det sørger klausulen «GROUP BY» for.
  2. Neste skritt – tømme den originale tabellen: TRUNCATE wp_xmasb_quotes TRUNCATE fjerner innholdet på samme måte som en DELETE kommando ((Men TRUNCATE er ikke det samme som en DELETE – den vil blant annet ikke returnere antall rader slettet. Den vil heller ikke trigge ON DELETE)). Backup er selvfølgelig tatt på forhånd? Kjedelig å miste data…
  3. Kopier innholdet fra temp tabellen inn i den originale: INSERT INTO wp_xmasb_quotes SELECT * FROM quotes_temp
  4. Slett den temporære tabellen: DROP TABLE quotes_temp

Verre er det ikke.

XmasB Quotes har rundet 2000 nedlastinger

En gang i natt rundet jeg det magiske tallet 2000. 2000 ganger har WordPress-innstikket ((Eller plugin om du vil)) blitt lastet ned siden jeg la det ut for en stund siden. Jeg har oppdatert i rykk og napp, og fått god hjelp av flere underveis. Alle kjente bugs er borte, og innstikket er oversatt til tre språk ((Engelsk, norsk og italiensk – strengt tatt bare oversatt til to, ettersom det var på engelsk til å begynne med…)).

Jeg har fortsatt noen små funksjoner jeg ønsker å legge til, men har ikke prioritert dette i det siste på grunn av andre ting som tar opp det meste av fritiden min ((Hun er snart et halvt år gammel, og er fantastisk!)). Jeg har sikkert nevnt det noen ganger, først og fremst er det støtte for AJAX og mulighet for eksport og import av sitater via XML som er på agendaen. XML biten er ikke så vanskelig, men AJAX har jeg ikke kikket noe på enda ((Hvor vanskelig kan det være?)).

Har du ikke testet XmasB Quotes enda kan du laste den ned fra WordPress hvor jeg har valgt å hoste den. Ønsker du å oversette den til flere språk setter jeg selvsagt pris på dette. Da er det bare å sende meg språkfilene på adressen x grisehale xmasb prikk com.

Jeg ligger litt etter på oppdatering av den lokale siden for innstikket (og egentlig også readme filen som følger med nedlastingen), men du kan finne mer info om XmasB Quotes her. Der kan du også digge og stumble XmasB Quotes.

Skulle du ta en titt på innstikket, setter jeg selvsagt pris på om du gir den en rating på WordPress sine side (samme side som du laster den ned fra). Forutsatt at du gir den en god karakter selvsagt. 🙂

Nå er det bare å vente til tikkeren runder 5000.

Egen kode er ikke bare en fordel

Mye av grunnen til at jeg fortsatt har dette temaet er timene jeg har lagt ned i det. Ikke at jeg egentlig har vurdert å bytte på lenge, men nå frister det litt likevel. Men ved å bytte kommer jeg til å miste mye kode som jeg har lagt inn selv. På den annen side kan det tenkes at et eventuelt nytt tema ikke trenger å hackes på så mye som dette. Finner jeg et pent tema som støtter det jeg vil ha, uten de store krafttakene fra min side, så kan det tenkes at jeg bytter.

Etter oppgradering til WordPress 2.5 (og oppover) har jeg erfart noen smårare ting. Intet alvorlig, men likevel litt irriterende. For det meste dreier det seg om andres plugins som ikek fungerer som de gjorde (de aller fleste er blitt fikset nå), eller noen sider vises ikke riktig lenger. Jeg har også gjort noen endringer i forbindelse med en opprydning av plugins og filer som ikke har gått helt uten problemer. Idag fant jeg nemlig ut at jeg hadde fjernet en plugin jeg fortsatt brukte i aller høyeste grad. Nemlig den gamle pluginen phpexec. Den bruker jeg for å kunne skrive php kode direkte i poster og sider på bloggen. Det er den som gjør lenkesiden mulig (hvor mange ganger har jeg ikke vurdert å skrive den manuelt?), og også den for lengst berømte «Er det fredag»-tjenesten (vel.. Ikke så berømt, men det er bare et spørsmål om tid). Plutselig lenket jeg ikke lenger til noen (ingen som savnet en lenke?), og til tross for at fredagstjenesten var nede fikk jeg ingen henvendelser på dette. Man skulle tro en slik viktig tjeneste blir savnet?

XmasB Quotes – Nå på tre språk!

Med god hjelp ((Hva er det hun ikke kan?)) av Kristin har jeg endelig fått XmasB Quotes oversatt. Og ikke minst, klargjort for andre språk. Bare timer etter at den nye versjonen ble lagt ut tikket det inn en hyggelig mail fra en italiener som hadde tatt seg bryet med å oversette til italiensk. XmasB finnes derfor nå i engelsk, norsk og italiensk versjon. Ikke verst, om jeg får si det selv.

Jeg har ikke oppdatert min lokale side på denne bloggen her enda, men skulle få lyst til å kikke på innstikket kan du finne den hos WordPress. Kanskje er det nettopp du som tipper statistikken over 2000?

Skulle du beherske andre språk enn norsk og engelsk (og italiensk) setter jeg stor pris på om du har lyst til å oversatte innlegget. Oversettelser belønnes med ære og berømmelse. 🙂

XmasB Quotes er dermed oppe i versjon 1.2.0. Versjon 2.0 ligger litt frem i tid, men planen er klar. Tid noen?

Totalt antall kommentarer i WordPress 2.5?

Er det noen som kan fortelle meg hvordan jeg kan få oversikt over totalt antall kommentarer i Dashboardet i WordPress 2.5? Jeg har lett etter gode måter å gjøre dette på, men har foreløpig ikke funnet noe jeg synes fungerer bra.

Om noen har noen gode forslag setter jeg stor pris på det. Det greieste hadde jo vært en Dashboard Widget som også inkluderte litt mer data. Eksempelvis total antall kommentarer, innlegg mest kommentert, snitt kommentarer per innlegg, og så videre… Anyone?

Smart sagt

Det er en god stund siden samlingen med sitater for denne bloggen rundet 3000. Det hender jeg legger inn en god del, og noen ganger også fra lure ting jeg hører bli sagt. Noen ganger fanger man opp noen gullkorn som kan komme til nytte, og da noterer jeg de ned i innstikket mitt, XmasB Quotes. Og samlingen vokser stadig. I skrivende stund blir du servert et tilfeldig av 3263 sitater fra sitatbasen. Har du lyst på et nytt laster du bare siden på nytt.

Jeg har en stund hatt planer om å legge til mulighet for å eksportere/importere sitatene til xml. Dette er det flere grunner til, men hovedsakelig for å ha en egen backup i et format jeg liker å jobbe med. En annen årsak er selvsagt også muligheten til å inkludere sitater sammen med innstikket, som andre selv kan velge blant. Dessverre er det sjelden jeg har tid til å sitte med private prosjekter på fritiden min.

Andre funksjoner som jeg ønsker å ha med i innstikket er større mulighet for å styre design, enklere redigering av sitater, oversettelser ((Som jeg har hatt store problem med å få til å virke, til tross for flere forsøk og gode oppskrifter på nett. Forslag tas imot med takk. Skal prøve litt til, men ser ikke bort fra at det dukker opp «hjelp jeg får det ikke til»-post her etterhvert.)) og mulighet for å styre rekkefølge og tidsintervall for endring av sitat som vises. I tillegg har jeg også tenkt å legge til en RSS kun for min side, som viser noen (eller bare ett) tilfeldige sitat daglig.

Og dette er selvsagt ikke det eneste prosjektet jeg har i tankene. Jeg har noen innstikk jeg skulle laget til WordPress som jeg selv savner. Detaljer kommer den dagen de er laget, jeg vil ikke love noe heller… I tillegg har jeg flere prosjekter innen foto som jeg kunne tenkt meg å testet, det prioriteres for tiden høyere enn mye annet. Jeg liker å ta bilder, og liker å bruke tid på det teoretiske rundt fotografi. Sikkert derfor foto nå har fått en egen seksjon i bokhylla mi, med stadig flere bøker. Venter for tiden på fire bøker til fra Amazon.com. Med den lave dollaren har det aldri vært billigere å handle bøker fra statene. Det er også greit å huske at det ikke er merverdiavgift på bøker.

Som alltid nok å gjøre, men ingen tid å gjøre det på. ((Må bare beklage at denne posten ble litt rotete. Jeg sitter på kurs, og skrev det meste i pausene.))