Code Explainers

Code explainers tagged #input-validation

php
<?php
 
namespace App\Support;
 

Normalizing phone numbers to E.164 in PHP

input-validation normalization regular-expressions
Intermediate 8 steps
go
func ListArticles(db *gorm.DB) gin.HandlerFunc {
	return func(c *gin.Context) {
		page, err := strconv.Atoi(c.DefaultQuery("page", "1"))
		if err != nil || page < 1 {

Building a paginated list endpoint in Gin

pagination query-parameters input-validation
Intermediate 8 steps
go
package handlers
 
import (
	"encoding/json"

Hardening JSON decoding in Go HTTP handlers

json error-handling http
Intermediate 8 steps
typescript
interface PaginationParams {
  totalItems: number;
  pageSize: number;
  currentPage: number;

Building safe pagination metadata in TypeScript

pagination input-validation pure-functions
Intermediate 7 steps
javascript
const express = require('express');
const router = express.Router();
const db = require('../db');
 

Building a paginated articles endpoint in Express

pagination input-validation async-await
Intermediate 8 steps
go
type SensorReading struct {
	DeviceID    string    `json:"device_id" binding:"required"`
	Temperature float64   `json:"temperature"`
	RecordedAt  time.Time `json:"recorded_at" binding:"required"`

Streaming NDJSON ingestion in Gin

streaming batching json-decoding
Advanced 10 steps
go
package search
 
import (
	"net/url"

Building a query URL from a Filter struct in Go

url-encoding struct-methods input-validation
Intermediate 8 steps
java
@RestController
@RequestMapping("/api/files")
public class FileUploadController {
 

Handling secure file uploads in Spring

file-upload input-validation path-traversal
Intermediate 10 steps
ruby
class ArticlesController < ApplicationController
  DEFAULT_LIMIT = 25
  MAX_LIMIT = 100
 

Cursor-based pagination in a Rails controller

pagination cursor query-building
Intermediate 7 steps
php
<?php
 
class ImageUploadService
{

Validating file uploads safely in PHP

file-upload input-validation security
Intermediate 8 steps
php
<?php
 
namespace App\View;
 

Building a safe HTML escaper in PHP

security xss escaping
Intermediate 6 steps
php
<?php
 
final class ProductRepository
{

Safe SQL pagination with PDO in PHP

pagination input-validation prepared-statements
Intermediate 7 steps
python
from flask import Blueprint, render_template, request, abort
from sqlalchemy import select
 
from .models import Article

Paginating articles in a Flask Blueprint

pagination blueprints input-validation
Intermediate 6 steps
javascript
import { notFound } from 'next/navigation';
 
const PER_PAGE = 24;
const SORT_OPTIONS = ['relevance', 'price-asc', 'price-desc', 'newest'];

Parsing search params in a Next.js page

input-validation query-params pagination
Intermediate 10 steps