问题是您不能告诉用户字段中允许多少个字符,因为转义的值比未转义的字符多。
我看到一些解决方案,但看起来都不是很好:
还有其他选择吗?这种情况下是否有“最佳实践”?
示例代码:
$string = 'javascript:alert("hello!");';
echo strlen($string);
// outputs 27
$escaped_string = filter_var('javascript:alert("hello!");', FILTER_SANITIZE_ENCODED);
echo strlen($escaped_string);
// outputs 41
如果数据库字段的长度为40,则转义的数据将不适合。
不要围绕数据库构建应用程序-为应用程序构建数据库!
对这里的上下文做出一些疯狂的假设:
这是一个有趣的问题。