首页 / PHP / PHP嵌套菜单安全性问题
PHP嵌套菜单安全性问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP嵌套菜单安全性问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1394字,纯文字阅读大概需要2分钟。
内容图文
来自新手:
在试图显示修改后的嵌套菜单How to create a nested menu from MySQL with PHP?时.我的问题是:采用这种方法是否存在安全方面的问题.
从我的新手角度来看,此代码是服务器端的代码,只是在加载页面时触发查询.
欢迎所有见解和建议.谢谢.
<?php
include '../data.php'; // connection folder
$query = "SELECT `parent_name`, `parent_id`, `child_name`, child_id
FROM `pages.child` INNER JOIN `pages.parent`
ORDER BY `parent_name`";
$result = mysql_query($query) or die(mysql_error());
echo "<ul id=\"catmenu\">";
$last_parent = '';
while($row = mysql_fetch_array($result)){
if($last_parent != $row['parent_name']){
// Unless this is the first item, close the last category
if($last_parent != ''){
echo "</ul></li>";
}
// Parent menu begins <li> and <ul>
$last_parent = $row['parent_name'];
$tags = $row['parent_name'];
echo "<a href=\"$tags\"><li class=\"menulist\">{$tags}<ul></a>";
}
if($row['parent_id'] === $row['child_id'] ){
$tags = $row['parent_name'];
$tag = $row['child_name'];
echo "<li class=\"menulist\"><a href=\"$tags\\$tag\">$tag</a>";
}
}
if($last_parent != ''){
echo "</ul></li>";
}
echo "</ul>";
?>
解决方法:
如果数据库表中的值以前是用户输入的,请确保在输出它们之前使用htmlentities()对其进行转义.例如,替换以下行:
$tags = $row['parent_name'];
有了这个:
$tags = htmlentities($row['parent_name']);
使用htmlentities()可以防止称为cross-site scripting的漏洞,这是我在这种情况下可以看到的唯一安全问题.
内容总结
以上是互联网集市为您收集整理的PHP嵌套菜单安全性问题全部内容,希望文章能够帮你解决PHP嵌套菜单安全性问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。