Skip to content

WebCheatSheet

The easy way to know

  • PHP
  • HTML
  • JavaScript
  • SQL
  • ASP
  • MS Access Functions
  • SaaS
  • Email

Category: SaaS Architecture

Practical guides to multi-tenant SaaS architecture, security, billing, operations, and support.

SaaS Architecture

Avoid Missing Rows During Offset Pagination

Sergey KornilovNovember 8, 2026

Use a stable snapshot or cursor when possible, and add a high-water mark plus ID deduplication when an API exposes only limit and offset.

SaaS Architecture

Separate App Identity from User and Tenant Identity

Sergey KornilovNovember 5, 2026

Give each frontend a distinct public client identity, authorize the user and tenant independently, and record all three in audit events.

SaaS Architecture

Centralize Authorization and Input Validation in an MCP Server

Sergey KornilovNovember 3, 2026

Route every tool call through one validated, authenticated, tenant-aware dispatch boundary and return sanitized security errors.

SaaS Architecture

Use Level-Specific Serilog Output Without Duplicate Events

Sergey KornilovOctober 21, 2026

Use one Serilog ExpressionTemplate with conditional blocks so error details appear only when needed and each event is written once.

SaaS Architecture

Prevent Account Enumeration in Login Error Messages

Sergey KornilovOctober 16, 2026

Return one public login failure, keep status and timing comparable, and move account details into protected logs and recovery flows.

SaaS Architecture

Authenticate Git to Bitbucket Cloud with API Tokens

Sergey KornilovOctober 15, 2026

Use the Bitbucket username in the HTTPS remote, enter a scoped API token as the password, and keep the token out of the remote URL.

SaaS Architecture

Design Authentication for a Modern SaaS Application

Sergey KornilovOctober 6, 2026

Centralize SaaS sign-in with OpenID Connect, validate tokens at each service boundary, and separate authentication from current authorization decisions.

SaaS Architecture

Fix Apache HTTPS VirtualHost ServerName Mismatches

Sergey KornilovOctober 4, 2026

Diagnose an Apache HTTPS request that reaches the wrong virtual host by checking address and port matching, ServerName, DNS, SNI, and loaded configuration.

SaaS Architecture

Prevent Duplicate API Operations After a Timeout

Sergey KornilovOctober 4, 2026

Make long-running POST operations safe to retry with a client-generated idempotency key, an atomic operation record, and a status endpoint.

SaaS Architecture

Prevent PostgreSQL RLS Tenant Leaks with Connection Pools

Sergey KornilovOctober 1, 2026

Set PostgreSQL tenant context locally inside the same transaction and pooled connection that runs tenant queries, then always release the client safely.

Posts navigation

Older posts

Recent Posts

  • Send Telegram Bot Broadcasts from PHP Without 429 Errors
  • Avoid Missing Rows During Offset Pagination
  • Drop a Doctrine DBAL Foreign-Key Column Safely
  • Distinguish phpMyAdmin SQL Lint Errors from Server Errors
  • Diagnose PHP JIT Processes That Use 100% CPU

Recent Comments

  1. Build Accessible Tabs with JavaScript – WebCheatSheet on How to Control Tab Order in HTML
  2. Verify SQL Server Backups with CHECKSUM and VERIFYONLY – WebCheatSheet on Fix SQL Server ‘Insufficient Access Rights’ During Backup
  3. Get the Latest MySQL Value Before Two Dates – WebCheatSheet on SQL GROUP BY
  4. Count Duplicate Values in a JavaScript Array – WebCheatSheet on JavaScript Arrays
  5. Fix MySQL Error 1038 for Wide Rows and Filesort – WebCheatSheet on Determine the MySQL Version from the Command Line

Archives

  • November 2026
  • October 2026
  • September 2026
  • August 2026
  • October 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022

Categories

  • ASP
  • Email
  • HTML
  • JavaScript
  • MS Access Functions
  • PHP
  • SaaS Architecture
  • SQL
  • Uncategorized
Copyright © 2026 WebCheatSheetFresh News by Ascendoor | Powered by WordPress.