【发布时间】:2019-12-07 06:12:29
【问题描述】:
我遇到了这个answer,,它暗示,除了检查字符串是否为空之外,我们最好根本不进行验证。考虑到the scope of possible characters when dealing with international names,,这似乎是合理的。
我们应该完全放弃验证吗?
在清理国际名称时,准备好的语句是否足够?
$pdo = $connection->prepare("INSERT INTO clicks (domain, sid) VALUES (:domain, :sid)");
$pdo->execute(array(
":domain" => $domain,
":sid" => $sid
));
另一种方法是禁止某些字符,而不是尝试匹配包含的字符。然而,这也会变得棘手。
【问题讨论】:
-
对否决票的解释会很有用...
-
如果您将输入值正确绑定到准备好的语句(看起来像这样),那么值中允许的字符与 SQL 注入问题并不真正相关,因为它不可能要成为查询一部分的值。 stackoverflow.com/questions/8263371/…
-
@Don'tPanic 好的。
标签: php regex validation pcre sanitization