GoodScripts was a major project that began as my GCSE ICT coursework. It developed into an excuse to spend countless hours learning PHP and web layout skills, creating a script storage system like HotScripts and Scripts.com. The project was successful — it worked — but I stopped developing it after I realised that it was not a viable competitor to these existing resources.
It was my first delve into creating user authentication systems for the web. I designed all the class libraries from scratch and read articles about password hashing to keep users secure. When the login system was hacked by a member of a PHP forum I started to learn about web security and SQL injections: it took a few hours to learn the techniques this hacker used and secure the website from similar attacks.
I found character-sets difficult to cope with. At the time PHP had no support for character sets and treated strings as byte arrays. This caused inconsistencies as different users would store varying byte sets in the database and the output script would try to display this to the browser with a UTF-8 template. Another problem was stripping all the "magic" quotes that PHP used to generate. It took some research to add conditional stripping to ensure the input data will be processed consistently across server configurations.
It was very educational and far beyond the scope of GCSE ICT. I have uploaded the coursework write up for nostalgic reasons.