PHPPHP20 min read

PHP Security Basics: XSS and CSRF (Must Know)

Protect your PHP apps from common attacks with practical, beginner-friendly steps.

Christopher Young
September 24, 2025
3.8k156

Security is not optional. Two common attacks in web apps are:

  • XSS (injecting scripts into HTML output)
  • CSRF (tricking a logged-in user to submit a request)

1) XSS protection (escape output)

If a user enters:
<script>alert(1)</script>
and you echo it directly, you may execute it.

Always escape output

echo htmlspecialchars($comment, ENT_QUOTES, 'UTF-8');

2) CSRF protection (token in forms)

Step 1: Create token in session

session_start();
if (!isset($_SESSION['csrf'])) {
  $_SESSION['csrf'] = bin2hex(random_bytes(32));
}

Step 2: Put token in form

<input type="hidden" name="csrf" value="<?php echo $_SESSION['csrf']; ?>">

Step 3: Validate token on submit

if (!hash_equals($_SESSION['csrf'], $_POST['csrf'] ?? '')) {
  die("CSRF validation failed");
}

Why this matters

Most real PHP bugs happen because developers trust input or forget tokens.

Quick security checklist

  • validate and sanitize input
  • escape output (XSS)
  • use prepared statements (SQL injection)
  • protect forms with CSRF tokens
  • hash passwords using password_hash

Next set (30 more): Advanced topics like transactions, indexes, file uploads security, middleware style routing, Laravel fundamentals, and scaling patterns.

#PHP#Security#Advanced