[PHP] Aanpassen PHP guestbook naar 8.2.16 compatibiliteit

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Archer_VC10
  • Registratie: Oktober 2004
  • Nu online
Mijn vraag
Ik weet dat ik hier niet hoor te werven *snip* doe 't dan ook niet ;)

Ik draai al heel lang een PurpleYin 1.1.2 Guestbook op mijn website, helaas is dit een PHP guestbook wat niet meer bijgewerkt wordt. Korte tijd geleden heb ik de PHP versie op mijn server aangepast naar 8.2.16 en ik merk nu dat mijn guestbook dat niet fijn vind. Het is een flat-file guestbook wat zijn entries gewoon in een PHP bestand opslaat. Als ik nu de view of sign page probeer te openen krijg ik óf een lege, witte pagina, óf een 'The page is not redirecting properly' error.

Relevante software en hardware die ik gebruik
PurpleYin 1.1.2 Guestbook software, binnen een redelijk kale html omgeving (de website heeft verder geen invloed op dit guestbook volgens mij), draaiend op een hostingpakket met PHP 8.2.16.

Wat ik al gevonden of geprobeerd heb
Een beetje puzzelen en het napluizen van de error logs stuurde mij in de richting van een stukje PHP waar de entries werden opgeschoond, dit gebruikte nog get_magic_quotes_gpc e.d. wat in PHP 8 niet meer werkt. Ik dacht toen simpelweg deze opschoon stappen er uit te kunnen halen door:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
    if(get_magic_quotes_gpc()==1)
    {
        if(MAGIC_QUOTES_SYBASE)
        {
            $string=str_replace("''","'",$string);
        }
        else
        {
            $string=stripslashes($string);
        }
    }

    return handleLineEndings($string);

Te verbouwen tot:
code:
1
2
$string=stripslashes($string);
    return handleLineEndings($string);

En dit meerdere keren, deze aanpak kwam een keer of drie langs. De gedachtengang hier was (op basis van wat leeswerk) dat ik de get_magic_quotes opschoonactie kon negeren en standaard de andere optie kon kiezen.

Helaas krijg ik nu allerlei andere foutmeldingen en lijk ik iets essentieels gesloopt te hebben. De view en sign page geven nog steeds dezelfde resultaten, maar in de error logs krijg ik nu errors op diverse regels, vooral het feit dat hij null waardes vind op allerlei plekken.

Ik heb natuurlijk eerst alles gekopieerd... dus ik kan altijd terug.

Ik lijk wel de admin pagina in te kunnen komen maar daar vind ik een leeg gastenboek, zonder settings of entries, hoewel hier niets aan veranderd is. Het lijkt er op dat het laden van zaken uit de diverse bestanden ineens niet meer werkt. Ongetwijfeld door mijn aanpassing... maar wat moet ik dan hiermee?

*snip*

Even aanvullend: de basis van het gastenboek zit in de PYG.php file, dit is de kern met alle routines. Er zitten echter een stuk of 12 php bestanden in de map waarvan db.php de entries bevat en andere bestanden de diverse toegankelijke pagina's (view, sign, thanks, admin) of diverse settings en resources (options, smilies, badstrings etc). Ik geloof niet dat ik een bestand hier kan toevoegen *snip*

[ Voor 13% gewijzigd door RobIII op 28-02-2024 14:31 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:46

AW_Bos

Liefhebber van nostalgie... 🕰️

Als ik zo kijk is het een gastenboek uit 2005, en als ik functies als get_magic_quotes_gpc() die, dan weet ik zeker dat het script heel ver achterloopt, en dat je het beter 'from scratch' kan laten herbouwen. Ook al gaat het naast veiligheid ook om betere en logischere code.

Als je het zelf niet aandurft, of kunt, dan is dit topic de beste weg:
Devschuurder werven? Gebruik Vraag & Aanbod!

[ Voor 24% gewijzigd door AW_Bos op 28-02-2024 14:05 ]

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Archer_VC10 schreef op woensdag 28 februari 2024 @ 13:31:
Ik geloof niet dat ik een bestand hier kan toevoegen *snip*
Je kunt relevante(!) stukjes(!) code posten m.b.v. code tags samen met bijbehorende foutmeldingen of andere relevante informatie en dan willen we best met je meekijken. Als je wil dat iemand 't voor je oplost dan verwijs ik je naar Devschuurder werven? Gebruik Vraag & Aanbod! zoals @AW_Bos ook al aangaf.
Archer_VC10 schreef op woensdag 28 februari 2024 @ 13:31:
De gedachtengang hier was (op basis van wat leeswerk) dat ik de get_magic_quotes opschoonactie kon negeren en standaard de andere optie kon kiezen.
Dat is een heel gevaarlijke gedachtegang. Ondanks dat ze zwaar verouderd zijn hadden die functies wel een... euh... functie :P Haal je dat er zomaar, zonder (beter) alternatief uit dat is de kans immens dat je je database (en daarmee de data van je bezoekers) te grabbel gooit of een bobby tables doet.

[ Voor 33% gewijzigd door RobIII op 28-02-2024 14:36 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Archer_VC10
  • Registratie: Oktober 2004
  • Nu online
Klopt, het is al geruime tijd niet meer bijgewerkt. Ik ben ooit begonnen met een online gastenboek, toen heb ik een hoop geklooi gehad om die entries over te zetten (met alle juiste properties) naar dit gastenboek. Het is een exercitie die ik niet graag herhaal. Opnieuw beginnen zou de beste optie zijn maar daar heb ik de skills niet voor helaas.

De get_magic_quotes_gpc functie komt drie keer langs, in functies genaamd cleanFormData, cleanFileInput en prepFileOutput. Bij alledrie heb ik de bovenstaande actie uitgevoerd, waarbij ik één kant van de IF boom heb verwijderd. In alledrie de functies heb ik nu maar twee regels staan, zoals hierboven getoond, waarbij de derde functie er nu zo uitziet:
code:
1
2
3
4
5
function prepFileOutput($string)
{
    $string=str_replace("\\","\\\\",$string);
    return handleLineEndings($string);
}

De errors die ik nu krijg zijn allemaal 'Trying to access array offset on value of type null in...' bijvoorbeeld in dit stuk van de code:
code:
1
2
3
4
5
6
7
8
9
10
11
    function set($optionName,$optionValue)
    {
        $this->options[$optionName]=$optionValue;

        $this->save();
    }

    function get($optionName)
    {
        return$this->options[$optionName];
    }


Ik hoopte op een fix voor de aanpassing die ik had gedaan, waarmee de data die opgehaald danwel weggezet wordt wellicht weer bruikbaar wordt. Ik heb alles ook al door wat checkers heengehaald, er lijken geen zaken meer in te zitten die niet PHP 8 compatible zijn. Maar dat kijkt natuurlijk alleen maar naar de pure code statements, niet naar hoe de data bewerkt wordt. Daar lijkt nu mijn probleem te zitten.

Dank in ieder geval, misschien moet ik het toch wat groter aanpakken.

Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:46

AW_Bos

Liefhebber van nostalgie... 🕰️

Dat laatste zal wel meevallen, @RobIII ... :P
Het is een flat-file guestbook wat zijn entries gewoon in een PHP bestand opslaat....
Sowieso zou ik bij voorkeur adviseren om gebruik maken van een database. Dan kan je met een enkele query de entries beheren in plaats dat je moet wroeten door data-files. Ik vraag mij eigenlijk af of dit oude script zo oud is dat deze ingevoerde data met IP-adressen openbaar in een data.txt bestand laat opslaan. Ik hoop het niet.... :X

En GoT mag weten welke veiligheidsfouten er nog meer in zouden zitten.

[ Voor 7% gewijzigd door AW_Bos op 28-02-2024 14:48 ]

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
AW_Bos schreef op woensdag 28 februari 2024 @ 14:47:
Dat laatste zal wel meevallen, @RobIII ... :P
Dan snap ik niet waarom die functies überhaupt gebruikt worden/werden 8)7

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Archer_VC10
  • Registratie: Oktober 2004
  • Nu online
Nope, dat doet deze (volgens mij) niet, en IP adressen worden niet meegenomen, die optie heb ik sowieso uitgezet.

Toen ik op zoek was naar een stukje gastenboeksoftware waren MySQL databases nog schaarse zaken in hostingpakketten. De ene database die ik had was al voor iets anders ingezet, dus dat limiteerde de opties nogal.

Sorry @RobIII ik zie nu pas je laatste toevoeging in post 3. Je hebt gelijk, het was een risico maar ik heb alles weer teruggezet na mijn test. Ik heb ook al geruime tijd zitten klooien om dit in een sandbox te kunnen testen, maar dan loop ik er tegenaan dat ik geen testomgeving draaiend krijg op mijn Mac. Kan je al merken dat dit niet mijn normale werk is? 😆

Gastenboeken zijn natuurlijk sowieso niet meer van deze tijd, maar ik heb er intussen enkele honderden entries in staan die ik graag beschikbaar wil houden. Eens in de zoveel tijd duikt er nog wel eens een naam of vraag op op basis van een entry van lang geleden... of ik heb bezoekers van lang geleden die nog eens terug opduiken. Dan wil ik het niet zomaar weggooien.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Archer_VC10 schreef op woensdag 28 februari 2024 @ 14:59:
Dan wil ik het niet zomaar weggooien.
Is het dan geen optie om je gastenboek 'statisch' te maken? Als in: geen nieuwe entries meer accepteren en de oude/bestaande entries alleen nog maar tonen? Dan hoef je alleen maar eenmalig een pagina te genereren waar alle entries op staan (of voor elke entry een) en kan daarna alles behalve die pagina's weg.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:46

AW_Bos

Liefhebber van nostalgie... 🕰️

Eigenlijk is een gastenboek in MySQLi/PDO/whatever totaal niet moeilijk om te bouwen. Ik heb het idee dat PurpleYin behoorlijk bloated is, en dat je de code uiteindelijk flink kan verkleinen. Vooral je er 12 (!) bestanden bij hebt zitten. Met een guestbook.php, een admin.php en een config.php heb je met simpele praktijk al genoeg. (of je wilt classes gebruiken, vendors of een heel framework 8)7, net hoever je wilt gaan)

Je kan altijd met een script de oude gastenboek items uitlezen en overpompen naar de database.

[ Voor 23% gewijzigd door AW_Bos op 28-02-2024 15:05 ]

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
En er zwerven denk ik een kleine tien miljardmiljoen tutorials online van moderne(re) PHP versies waarin je zo'n gastenboek in een middag leert bouwen. Niet dat die kwalitatief allemaal even goed / veilig zijn*. Maar een gastenboek is meestal zo'n beetje de "hello world" van PHP.


* Ik heb even een steekproef gepakt van de top 3 hits die ik kreeg (waarvoor ik geen account hoefde te maken etc.) en van alle drie springen je de tranen in de ogen :'(

[ Voor 75% gewijzigd door RobIII op 28-02-2024 15:11 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Archer_VC10
  • Registratie: Oktober 2004
  • Nu online
RobIII schreef op woensdag 28 februari 2024 @ 15:01:
[...]

Is het dan geen optie om je gastenboek 'statisch' te maken? Als in: geen nieuwe entries meer accepteren en de oude/bestaande entries alleen nog maar tonen? Dan hoef je alleen maar eenmalig een pagina te genereren waar alle entries op staan (of voor elke entry een) en kan daarna alles behalve die pagina's weg.
Dat zou inderdaad een optie kunnen zijn, daar kan ik ook eens naar kijken.

Het zou best kunnen dat dit stukje software simpeler kan. Wat ik een prettige optie vond was dat ik binnen de interface van dit gastenboek een stuk HTML kon meegeven als header en footer waardoor het naadloos aansluit op de rest van mijn site, inclusief menu en layout.

Ik zal me eens gaan verdiepen in andere opties, danwel één van de tutorials zoals je noemt @RobIII . Dank in ieder geval voor deze tips. Inzien dat je in dieper water zit dan je hoopte is ook een nuttige les. 8)

Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:46

AW_Bos

Liefhebber van nostalgie... 🕰️

Nog een tipje: Lees je ook even in over veiligheid. Er zijn ook tien miljardmiljoen botjes die automatisch gastenboeken volspammen met onzinberichten, puur om de SEO-status van hun discutabele websites te verhogen.

Maar zelf zou ik onderzoeken of gastenboeken nog de moeite waard zijn, en hoe vaak er nog in geschreven wordt. Misschien is er vanwege de opmars naar social media, een decennia terug, wel meer behoefte om een rating achter te laten op een social media platform. Ik zie steeds vaker gastenboeken op sites waar ik haast digitale spinnenwebben in zie, en laatste reacties van soms jaren oud.

[ Voor 11% gewijzigd door AW_Bos op 28-02-2024 15:09 ]

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


Acties:
  • 0 Henk 'm!

  • Archer_VC10
  • Registratie: Oktober 2004
  • Nu online
RobIII schreef op woensdag 28 februari 2024 @ 15:04:
[...]


* Ik heb even een steekproef gepakt van de top 3 hits die ik kreeg en van alle drie springen je de tranen in de ogen :'(
Right, die optie vervalt dan bij deze weer.... 😆

@AW_Bos Klopt, dat is al jaren een probleem, maar entries kwamen hier eerst in een wachtrij terecht waarvanuit ik kon blokkeren op E-mail/string value of valideren zodat de entry zichtbaar werd.

Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Archer_VC10 schreef op woensdag 28 februari 2024 @ 15:10:
[...]

Right, die optie vervalt dan bij deze weer.... 😆
Nee joh, je moet gewoon op zoek naar een beetje een reputabele bron; ik moet nu weer even aan 't werk maar er zijn vast mensen hier die je aan een goeie(re :P) tutorial kunnen helpen.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:46

AW_Bos

Liefhebber van nostalgie... 🕰️

Ik denk eerder dat je meerdere tutorials met elkaar moet vastknopen, en de basis van PHP moet leren.
Van copy/pasten leer je geen fluit. ;)

[ Voor 16% gewijzigd door AW_Bos op 28-02-2024 15:37 ]

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


Acties:
  • 0 Henk 'm!

  • Aganim
  • Registratie: Oktober 2006
  • Laatst online: 15:53

Aganim

I have a cunning plan..

AW_Bos schreef op woensdag 28 februari 2024 @ 14:02:
Als ik zo kijk is het een gastenboek uit 2005, en als ik functies als get_magic_quotes_gpc() die, dan weet ik zeker dat het script heel ver achterloopt, en dat je het beter 'from scratch' kan laten herbouwen.
Dan praat je over code die gebouwd is voor PHP 4 of 5.1/5.2 max. Met een beetje geluk zelfs nog code die gebruikt maakt van register_globals. })

Als ik aan dit soort meuk terugdenk krijg ik gemengde gevoelens, nostalgie met een vleugje PTSD. 8)7

Acties:
  • +1 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:46

AW_Bos

Liefhebber van nostalgie... 🕰️

Aganim schreef op woensdag 28 februari 2024 @ 15:37:
[...]

Dan praat je over code die gebouwd is voor PHP 4 of 5.1/5.2. Met een beetje geluk zelfs nog code die gebruikt maakt van register_globals. })

Als ik aan dit soort meuk terugdenk krijg ik gemengde gevoelens, nostalgie met een vleugje PTSD. 8)7
Ik krijg gewoon flashbacks naar de Webmensen scripts... :P
Heerlijke tijden dat een gymnasium-scholier in zijn vrije uurtjes scriptjes voor iedereen bouwde met geweldige variabelen zoals: $HetVolledigePadOpDeServer, $BestandsnaamVoorDataBestand en uiteindelijk iets van +/-100 scripts gebouwd heeft :D

Misschien moet ik toch weer eens een PHP4 servertje lokaal installeren voor de memories. :*)

[ Voor 28% gewijzigd door AW_Bos op 28-02-2024 15:41 ]

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Nu online

Werkt het niet om de code in chatGPT te plempen en te vragen of hij het PHP 8.2.16 compatible wilt maken :?
Als het dan niet werkt kun je ChatGPT de fouten doorgeven en zo misschien de boel weer werkend krijgen.
Het is niet de allerbeste manier, dat begrijp ik, maar ik denk voor een leek wel de makkelijkste manier.

(Zou wel een kopie maken en daarin gaan werken, sloop je de boel helemaal heb je het origineel nog).


Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:46

AW_Bos

Liefhebber van nostalgie... 🕰️

ChatGPT is wel een optie, maar zorg dat je wel weet dat je begrijpt wat uitspuugt. Of wees heel erg duidelijk in je vragen. Straks sta je bijvoorbeeld PDO te mixen met mysqli-functies.

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


  • Archer_VC10
  • Registratie: Oktober 2004
  • Nu online
Hmmm.... ga ik even over nadenken. ChatGPT gebruiken gaat wel heel erg tegen mijn principes in... maar het is een optie, wellicht om wat hints te krijgen.

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Bij het schrijven naar file kan je ook max impact security fouten krijgen. Sterker nog, met een 20 jaar oud PHP script, ga ik er van uit dat die fouten er al in zitten, tenzij anders bewezen. :o

Als jij PHP onvoldoende beheerst, kan je chatGPT onvoldoende controleren. En ja, dat is nog hard nodig bij elke taal. Denk maar aan hoeveel AI-flaters je nog kan spotten in je moedertaal of in plaatjes.

Ergo, ik vond het advies voor chatGPT hier wat problematisch of zelfs gevaarlijk. Als je goed de basis wil leren: Cool! Maar mijn mening is dan wel op andere manier.

{signature}


  • Archer_VC10
  • Registratie: Oktober 2004
  • Nu online
Omdat ik nieuwsgierig ben ingesteld... ik heb de ChatGPT suggestie even getest en de suggesties die hier uit kwamen zijn deze:
1. get_magic_quotes_gpc() and get_magic_quotes_runtime(): These functions are deprecated and removed in PHP 8. Use alternative approaches to achieve the desired functionality.
2. The use of array_map() with constant arguments in $_POST and $_GET is unnecessary. We can directly use array_map() to clean the form data if needed.
3. Use of the foreach construct on objects: This was deprecated and removed in PHP 7.2. Replace it with the foreach loop using -> arrow notation for object properties.
4. preg_replace() with e modifier: This is deprecated as of PHP 5.5. Use preg_replace_callback() instead.
5. create_function(): This is deprecated as of PHP 7.2. Use anonymous functions instead.
6. Some minor improvements for modern PHP syntax and best practices.
Issue #1 was natuurlijk al voorbij gekomen hier. Issue #3 is er een die ik ook in de error logs heb gezien en ik vermoed dat #2 ook langs is gekomen maar daar ben ik niet zeker van. De andere twee (ik negeer 6 voor deze post even) waren nog niet langskomen in de checkers die ik heb uitgetest. Ik had de hele sequence al door twee PHP checkers heen gehaald om te kijken of er zaken in zaten die niet in 8.2.16 mogelijk waren, maar die zagen geen problemen.

Toch apart om te zien dat een stuk online statistiek met dit soort zaken kan omgaan. Ik heb er verder niets mee gedaan, maar het resultaat is een php file van 192 regels waar de originele versie 1453 regels bevatte (met meer comments er in, dat dan wel). Ik vermoed dat er een hoop functionaliteit uit is gesloopt... ;) Ik zoek nog even verder intussen, ik ben eigenlijk meer richting een statische versie aan het denken nu.

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:46

AW_Bos

Liefhebber van nostalgie... 🕰️

Als je het statisch wilt maken ben je in to time klaar. Even de HTML-output kopiëren, en deze in een apart HTML/PHP-document zetten zonder enige PHP-logica, en klaar.

En een gastenboek met 1453 regels aan code? Destijds was mijn gastenboek rond de 50 regels. Maar toen waren er nog geen spammertjes, maar zo iets is weer 10 regels extra.

[ Voor 34% gewijzigd door AW_Bos op 29-02-2024 14:26 ]

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️


  • Archer_VC10
  • Registratie: Oktober 2004
  • Nu online
Tja, dan moet ik wel output krijgen... op dit moment levert het geheel niets af helaas... Maar wie weet krijg ik het voor elkaar. ☺️

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Dat statisch maken kan natuurlijk perfect even op de oude bekende versie. ;)

{signature}


  • Archer_VC10
  • Registratie: Oktober 2004
  • Nu online
Dat klopt, maar dan moet ik de software op de server terug gaan zetten naar een PHP versie die werkt en ik moet even kijken of dat lukt/kan/handig is. To be continued...

Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 12:46

AW_Bos

Liefhebber van nostalgie... 🕰️

Of je haalt het uit de archive.org. Dan heb je het ook statisch :)

[ Voor 30% gewijzigd door AW_Bos op 01-03-2024 19:42 ]

☀️ Goedemorgen zonneschijn! ☀️
☀️Ja, je maakt me zo gelukkig, en door jou voel ik me fijn! ☀️

Pagina: 1