PointClickEngine::Characters::Dialogue::ConditionValidator
Validates that a condition string is safe for Lua evaluation Allows: identifiers, comparisons, boolean ops, function calls, strings, numbers Blocks: assignments, require, load, os, io, debug, dofile, loadfile
Constants
DANGEROUS_PATTERNS = [/\bos\s*\./i, /\bio\s*\./i, /\bdebug\s*\./i, /\brequire\s*[\("]/i, /\bdofile\s*[\("]/i, /\bloadfile\s*[\("]/i, /\bload\s*[\("]/i, /\bloadstring\s*[\("]/i, /\brawset\s*[\("]/i, /\brawget\s*[\("]/i, /\bsetfenv\s*[\("]/i, /\bgetfenv\s*[\("]/i, /[^=!<>]=[^=]/, /;/, /\bwhile\b/i, /\bfor\b/i, /\brepeat\b/i, /\bfunction\b/i]
Dangerous Lua patterns that could be used for injection
Class methods
safe?(condition : String) : Bool
Sourcesanitize(condition : String) : String | Nil
Source