面试(6)

ps:失眠(insomnia),忆及上次笔试中数题,志

1 单选:考察substring(),此函数接收2个参数,第1个参数指定子字符串的开始位置。第二个参数指定的是子字符串最后一个字符后面的位置!!!

这一点同slice()函数

2 问答题:前端存在哪些安全问题

csrf:cross-site request forgery,跨站请求伪造。

解决办法:

1,检查报头中的referer参数确保请求来自正确的网站

2,对任何重要请求均需再次验证用户身份

3,创建唯一的令牌(token),保存在服务商的session中及客户端的cookie中,检测二者是否一致

xss: cross site scripting,跨站脚本攻击,与sql注入攻击类似,sql注入攻击中以sql语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户浏览器的控制。

解决办法:

1,浏览器自身可识别简单的xss攻击字符串,阻止简单的xss攻击。

2,查漏补缺,消除网站的xss漏洞,开发时运用转义安全字符等手段

3,对于网上冲浪者,需抵挡各种诱惑,不点击非正常网站链接

-----------------------------------------------------------------

3,编程题,写一个函数,此函数接收一个参数,参数类型为选择符,返回一个结果数组,需考虑到浏览器的兼容问题

(答此题时,因之前浏览器故障原因,耗费不少时间,此时有些慌乱,只简单地使用了 html5中提供的 选择符api中的 querySelectorAll()方法)

        function getSelectors(selectorId) {
            var result=[];
            var newArr=null;

            if (document.querySelectorAll) {
                newArr = document.querySelectorAll(selectorId);
            } else if (document.getElementsByTagName) {
                newArr = document.getElementsByTagName(selectorId);
            }

            for (var i = 0, len = newArr.length; i < len; i++) {
                result.push(newArr[i]);
            }

            return result;
        }
原文地址:https://www.cnblogs.com/sx00xs/p/6488392.html