Skip to content

[Sync-EN] Revise the Taint extension documentation - #1805

Open
lacatoire wants to merge 1 commit into
php:masterfrom
lacatoire:sync-en/1704
Open

[Sync-EN] Revise the Taint extension documentation#1805
lacatoire wants to merge 1 commit into
php:masterfrom
lacatoire:sync-en/1704

Conversation

@lacatoire

Copy link
Copy Markdown
Member

Syncs the nine reference/taint/ files with php/doc-en#5802.

  • book.xml: the introduction explains what taint actually does, that the mark is applied to $_GET, $_POST and $_COOKIE at request startup and tracked through string operations, and states plainly that taint is a development and auditing tool that reports rather than blocks, may over-report, and must not be enabled in production. The example is replaced by one that shows all four warning kinds.
  • detail.xml is rewritten as "Propagation and checked sinks": the operators and the fixed list of functions that carry the mark, the fact that unknown functions (including htmlspecialchars() and mysqli_real_escape_string()) return an unmarked string by design, and complete tables of the output, filesystem, SQL, command execution, header/cookie and other sinks, plus the warning format.
  • setup.xml: adds the version requirements (taint 3.x needs PHP 8.0+, 2.1.x for PHP 7.x, 1.x for PHP 5.x) and a resources section stating the extension defines no resource types.
  • configure.xml: documents installing from PECL and building from source, enabling extension=taint.so and taint.enable, plus the production warning.
  • ini.xml: both directives are described, taint.enable as a php.ini-only master switch incompatible with the OPcache JIT, and taint.error_level with its default and the runtime ini_set() example.
  • is_tainted(), taint() and untaint() get real descriptions, parameters, return values, examples and notes, including that the mark lives on the string rather than the variable and that interned strings can never carry it.
  • reference.xml: EN-Revision bump only.

EN-Revision bumped to befe2b9fbe37b0925498f336632742651386b151 on the nine files.

Fixes: #1704

@lacatoire
lacatoire requested a review from a team as a code owner August 31, 2026 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Sync EN] Revise the Taint extension documentation

1 participant