这可能会被标记为重复,但在我的辩护中,我已经搜索了一段时间,我发现的很多信息都与mysql
或mysqli
充其量是相关的,或者是不完整的。我想要一个全面的、最新的答案,该答案会影响使用PDO
和准备好的陈述。
在数据通过应用程序时处理数据的正确方法是什么。
以下理论数据流是否足够,如果不是,您会建议哪些改进?
- 正确的表单验证客户端。
- 使用
$_POST
而不是$_GET
- 在 PHP 中,
$variable = htmlentities($_POST['variable']);
在数据库插入之前使用。 - using
PDO
和prepared 语句,例如bindValue(':variable', $variable)
: - 在输出时,
echo htmlspecialchars($variable);
用于防止 XSS 攻击。
两个相关问题:
- 假设您在
htmlentities()
插入数据库之前使用数据。如果用户输入 say ,您如何还删除所有插入的垃圾<p>my input value</p>
。这写入:<tr><p>my input value</p>&l
到数据库。 - 如果您的 php 返回由 AJAX 处理的 JSON 数组,那么在这种情况下如何处理输出?这在 PHP 中不起作用:
htmlspecialchars($JSON_Array)
提前感谢您对此的帮助。