CygnusSimple CMS

So before my last post “Basic Encryption” I had started to create my own CMS (Content Management System). I decided to do this so I could easily roll out new websites and more importantly learn a lot more. The site would work like most other CMS’s in that it would pull all of the data from a database. I started by using functions that pulled certain data from the database, like page names and content.

Whilst creating this I started work on my CygnusCrypt Class, once I finished this class I started thinking about CygnusSimple again and realized how much easier it would be if the whole CMS was object oriented. This would mean when the page loads an object would be created using all of the database data, then using this object I could call any data easily. I started then thinking it would be good (for fun and maybe a little speed) to write the whole system in PHP without having to switch to and from HTML. Because of this I then created a class that would create HTML elements with data passed to it which would be called from other objects.

I now used a variable to store the content to be shown, so for example I created a variable called $innerContent which would hold the inner content 😉 as I call the classes and then the data from the objects I simply would just add them to the variable and then at the end of the page display it using echo.

Now I had this method it was much easier to append data and add new methods to my classes to create more functionality. So far my CMS system is able to:

  • Edit Pages: Create, modify and delete pages
  • Edit Widgets:  Create, modify, delete and mark as active or inactive sidebar widgets
  • Google Authenticator: Change the name and private key settings of Google Authenticator
  • Edit Footer: Modify the footer
  • Edit Header: Upload a new header image or delete the old
  • Manage Images: View details, upload and delete images
  • Manage Style: Change CSS settings
  • Manage Categories: Create and delete Categories and sub categories
  • Manage Items: Create, modify and delete items that are linked to the categories

Whilst creating CygnusSimple I thought from the beginning “My site will be secure!”. So I have been paying attention to all areas of security. For one I have used CygnusCrypt to encrypt the data that is passed through the URL using the GET method, this makes it much harder for anyone to alter and tamper with the data, along with the data sent through there is also a private key sent in the URL, this private key is needed for all the main methods in the classes. So if the data was tampered with or the private key then the website would produce an error.

I also added Google Authenticator to the sign in, this makes the login much harder to break and the passwords much more secure. I know this site will never be un-hackable (I am not naive) but I certainly want to make it as hard as possible 🙂


Leave a Reply

Your email address will not be published. Required fields are marked *