Beginner terms
InnoDB vs MyISAM
InnoDB is the default MySQL storage engine supporting transactions, foreign keys, and row-level locking — MyISAM is legacy with table-level locking and no transaction support.
6mo ago
Database beginner
Inline Temp Variable Refactoring
Inline Temp removes a temporary variable used only once when its name adds no clarity — replacing the variable reference with its expression directly.
6mo ago
Code Quality beginner
Inconsistent Indentation
Mixing tabs and spaces, or using varying numbers of spaces for indentation — causes visual misalignment across editors and makes diffs noisy.
6mo ago
Style beginner
include vs require vs *_once
PHP 5.0+
require halts on failure; include warns and continues. The _once variants prevent double-loading — use require_once for dependencies.
6mo ago
PHP beginner
Inconsistent Names Smell
Using different terms for the same concept across a codebase — fetchUser vs getUser vs loadUser — increases cognitive load and obscures relationships.
6mo ago
Code Quality beginner
Information Disclosure
PHP 5.0+
Unintentional leakage of sensitive data — stack traces, version numbers, internal paths — aids attackers in crafting targeted exploits.
CWE-200 OWASP A5:2021
6mo ago
Security beginner
5.3
Insecure Cookie
PHP 5.0+
Cookies without HttpOnly, Secure, and SameSite flags are vulnerable to theft via XSS, network interception, and CSRF.
CWE-1004 OWASP A2:2021
6mo ago
Security beginner
5.4
intval() / Type Casting
PHP 5.0+
1
Casting user input to int or float is a safe way to enforce numeric types — cheaper than regex validation for IDs.
6mo ago
PHP beginner
Input Validation vs Output Encoding
PHP 5.0+
5
Validation checks that input is acceptable; output encoding makes data safe for the context it's rendered in. Both are required.
7mo ago
General beginner
Insufficient Logging & Monitoring
Failure to log security events and monitor them allows attacks to go undetected and unresponded to.
CWE-778 OWASP A9:2021
7mo ago
Security beginner
6.5