柔性和PHP:如何使用 htmlspecialchars?

发布于 2024-11-08 22:30:57 字数 838 浏览 3 评论 0原文

我使用带有远程处理功能的 Flex 3 从 MySQL 数据库返回数据。我是否需要使用 htmlspecialchars 来保证我的网站安全?

据我了解, htmlspecialchars 用于“清理”从数据库返回的数据。例如:

$query = "SELECT latitude, longitude FROM myTable WHERE type = '$type'";

            $result = mysql_query($query);

            $ret = array();
                 while ($row = mysql_fetch_object($result)) {
                    $tmp = new VOmyData();
                    $tmp->latitude = $row->latitude;
                    $tmp->longitude = $row->longitude;
                    $ret[] = $tmp; 
                        }
                 mysql_free_result($result);

                 return $ret;

在上面的例子中我该如何使用它?

return htmlspecialchars($ret);

或者我写:

$result = htmlspecialchars($result);

或者其他什么?

I'm using Flex 3 with remoting to return data from a MySQL database. Do I need to use htmlspecialchars in order to keep my site secure?

As I understand it, htmlspecialchars is used to "sanitize" data returned from the db. For example:

$query = "SELECT latitude, longitude FROM myTable WHERE type = '$type'";

            $result = mysql_query($query);

            $ret = array();
                 while ($row = mysql_fetch_object($result)) {
                    $tmp = new VOmyData();
                    $tmp->latitude = $row->latitude;
                    $tmp->longitude = $row->longitude;
                    $ret[] = $tmp; 
                        }
                 mysql_free_result($result);

                 return $ret;

How do I use it in the case above?

return htmlspecialchars($ret);

or do I write:

$result = htmlspecialchars($result);

or somtheing else?

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

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

发布评论

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

评论(1

笙痞 2024-11-15 22:30:57

如果您将用户提供的输入回显给用户,则 htmlspecialchars() 用于清理用户提供的输入,以防止跨站点脚本攻击 (XSS)。此外,如果您的数据库正在存储 HTML 格式的字符串,并且您希望将其显示给用户(而不是让浏览器将其解释为 HTML),请使用 htmlspecialchars()。

就您而言,如果输出只是数字,则实际上没有必要。

htmlspecialchars() is used to sanitize user-supplied input if you're echoing it back to the user, in order to prevent against Cross-Site Scripting (XSS). Additionally, if your DB is storing HTML-formatted strings, and you want to display it to the user (as opposed to having it be interpreted by their browser as HTML), then use htmlspecialchars().

In your case, if the output is just numbers, it's not really necessary.

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