Skip to main content

Recently Updated Pages

Implementing a thumbnail generator

Media Transcoding Videos: Serverless Code

Prerequisites Make sure you've read the previous page on implementing video transcoding with ser...

Updated 1 year ago by Ant

Setting up Lambda for image resizing

Infrastructure (AWS) Lambda

Compiling sharp for x86_64 architecture To use Sharp for Node.js properly, we need to compile it...

Updated 1 year ago by Ant

Web Application Firewall (WAF)

Security Infrastructure Security

A Web Application Firewall (WAF) is basically like a normal firewall you'd have on your own PC, b...

Updated 1 year ago by Ant

Apache configuration

Security Webserver Security

Configuring Apache properly is essential for website security. Generally, pre-packaged webserver ...

Updated 1 year ago by Ant

User Input: Sanitization and Validation

Security Server-side Code Security

To protect your website from malicious attacks (and also simply to prevent weird errors for users...

Updated 1 year ago by Ant

Preventing Bot Activity

Moderation

Other than user-submitted content, the other type of content that you will have to deal with is b...

Updated 1 year ago by Ant

User Content Moderation

Moderation

If your website has any form of user-submitted content, then you are going to need some form of m...

Updated 1 year ago by Ant

Using a Content Delivery Network (CDN)

Setting Up Expanding your website: scaling conside...

Once you start having more than one webserver (and thus need a load balancer), or even before tha...

Updated 1 year ago by Ant

Storing User Sessions

Setting Up Expanding your website: scaling conside...

In most websites, user "sessions" are stored to keep users logged in, among other things. There a...

Updated 1 year ago by Ant

The purpose of this guide

Introduction Basic Overview

There is one main reason I have written this guide: Understanding the difficulty of website deve...

Updated 1 year ago by Ant

Rate Limits

Code Standards: Backend Redis: Cached Items and Rate Limits

For user actions that have a rate limit, like reblogging a given artwork, a rolling rate limit is...

Updated 1 year ago by Ant

Tippy Themes and Theme Presets

Code Standards: Frontend Tooltips

To customise the functionality of Tippy.js a bit more, Deserted Chateau also uses its own themePr...

Updated 1 year ago by Ant

Shell Tooltips

Code Standards: Frontend Tooltips

The format for shell tooltips is as follows: Backend Code (in PHP template file) <?php DynamicC...

Updated 1 year ago by Ant

Library Licenses

Third-party libraries

This is a list of libraries Deserted Chateau uses, and their respective license terms (accurate a...

Updated 1 year ago by Ant

platform

Third-party libraries Frontend libraries

Homepage https://github.com/bestiejs/platform.js What is it? A JavaScript library for detectin...

Updated 1 year ago by Ant

Tippy.js

Third-party libraries Frontend libraries

Homepage https://atomiks.github.io/tippyjs/ What is it? An open-source library for creating to...

Updated 1 year ago by Ant

twemoji

Third-party libraries Frontend libraries

Homepage https://github.com/twitter/twemoji What is it? An open-source emoji library, containi...

Updated 1 year ago by Ant

TinyMCE

Third-party libraries Frontend libraries

Homepage https://www.tiny.cloud/ What is it? An open-source rich text editor, allowing users t...

Updated 1 year ago by Ant

Custom Error Pages: edge rules

Infrastructure (Non-AWS) BunnyCDN

BunnyCDN doesn't fully support custom error pages, but there is a workaround whereby you can redi...

Updated 1 year ago by Ant

Storing User Credentials

Security Server-side Code Security

For the most part, this is about storing passwords, and understanding how to secure them properly...

Updated 1 year ago by Ant