当前位置:  开发笔记 > 编程语言 > 正文

清理$ _GET参数以避免XSS和其他攻击

如何解决《清理$_GET参数以避免XSS和其他攻击》经验,为你挑选了2个好方法。

我有一个php的网站,包括()将内容嵌入到模板中.要加载的页面在get参数中给出,我将".php"添加到参数的末尾并包含该页面.我需要做一些安全检查以避免XSS或其他东西(不是mysql注入,因为我们没有数据库).我想出的是以下内容.

$page = $_GET['page'];

if(!strpos(strtolower($page), 'http') || !strpos($page, '/') ||
    !strpos($page, '\\') || !strpos($page, '..')) {
        //append ".php" to $page and include the page

我还能做些什么来进一步消毒我的输入吗?



1> Mez..:
$page = preg_replace('/[^-a-zA-Z0-9_]/', '', $_GET['page']);

可能是消毒的最快方法,这将采取任何措施,并确保它只包含字母,数字,下划线或破折号.


这两个链接都是关于mysql的,这个问题不是关于sql注入的

2> troelskn..:

不要"消毒" - 攻击特定于数据的使用,而不是源.改为输出它们时转义值.另请参阅我的回答什么是用PHP清理用户输入的最佳方法?

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有