为什么 fetchArray 不直接应用 htmlspecialchars ?

发布于 2024-12-22 04:44:00 字数 208 浏览 1 评论 0原文

为了避免 SQL 注入和 XSS,我们使用函数 htmlspecialchars() 或其他函数,如 escapeString。

如果我们每次构造 SQL 查询并获取结果时都必须使用此函数,那么为什么该函数

$results->fecthArray(); 

不直接应用 htmlspecialchars 函数呢?

To avoid SQL injection and XSS we use the function htmlspecialchars() or others like escapeString.

If we have to use this function every time that we construct a SQL query and get the results, why then the function

$results->fecthArray(); 

doesn't apply the function htmlspecialchars directly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苄①跕圉湢 2024-12-29 04:44:00

编程/指令语言发生变化时,就会发生注入攻击。例如,从 PHP 到 SQL,您需要 mysqli_real_escape_string 在 SQL 服务器处理之前对查询字符串进行转义。

为了回答您的问题,$results 仍然保留为 PHP 变量,您只需在 HTML 表单上输出之前进行转义即可。大多数人不会立即执行此操作,有些人甚至可能不会输出到 HTML,因此该函数不需要自动应用 htmlspecialchars

Injection attacks happen when there is a change in the programming/instruction language. Example, from PHP to SQL, you need mysqli_real_escape_string to escape the query string before processing by the SQL server.

To answer your question, $results still remains as a PHP variable and you only need to do the escaping just prior to outputting on the HTML form. Most people don't do that straight away and some may not even output to HTML, so the function does not need to apply htmlspecialchars automatically.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文