javascript – 使用window.location来查询页面的GET参数是否安全?

正在进行同行评审,我发现人们使用window.location.search检查已发送到给定(搜索)页面的paremetes.

这样做是否安全?我想我们可能会在脚本块中的HTML输出中打印参数并验证打印的变量而不是查询window.location.

解决方法

关于这种方法有一点需要注意. window.location在页面加载时静态设置,并且不会检测用户在此之后对地址栏所做的更改.这不应该是一个问题,但重要的是要知道.

将以下代码保存为html文件并在浏览器中将其激活:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>test</title>
    </head>
    <body>
        <a href="javascript:void(0);" 
                onclick="alert(window.location);">click me</a>
    </body>
</html>

“click me”锚点将显示当前窗口位置onclick.但是,如果您向地址栏添加任何内容并再次单击该链接,它将报告第一次执行的相同操作.

希望这不是一个问题,我无法想象它会以任何方式影响你,但很高兴知道.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...