Linux

Question


1在不重启机器的情况下,移除所有进程命令
2 bash shell中的hash命令用处
3进行数学运算的命令
4 一页页查看一个大文件的内容
5 数据字典属于哪一个用户


Answer


1 disown -r
2
Linux hash命令管理着一个内置的哈希表,记录了已执行过的命令的完整路径,用该命令可以打印出你所使用过的命令以及执行的次数
基础知识2020-5-5_验证码
3​



基础知识2020-5-5_字符串_02



4
cat filename | more
5
数据字典属于sys用户,用户sys和sysem由系统默认自动创建的


Java

Question


1 如何避免sql注入
2 什么是XSS攻击 如何避免


Answer


1
sql注入:把sql命令插入到web表单递交或输入域名或页面请求的查询字符串,最终达到七篇服务器执行恶意的sql语句
避免方法:
使用preparedStatement
使用正则表达式过滤传入的参数
字符串过滤
JSP中调用该函数检查是否包含非法字符
jsp页面判断代码
2
XSS攻击又称CSS,全称Cross Site Script (跨站脚本攻击),其原理是攻击者向有XSS漏洞的网站中输入恶意的 HTML 代码,当用户浏览该网站时,这段 HTML 代码会自动执行,从而达到攻击的目的。XSS 攻击类似于 SQL 注入攻击,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制,获取用户的一些信息。 XSS是 Web 程序中常见的漏洞,XSS 属于被动式且用于客户端的攻击方式。
XSS防范的总体思路是:对用户输入的表单信息进行检测过滤
避免:
1验证http Refer 字段
http头中的refer字段记录了该http请求的来源地址,在通常情况下,访问一个安全受限页面的请求来自于同一个网站,如果黑客要对其实施CSRF攻击,一般只能在自己的网站构造请求。
2使用验证码
关键操作页面加上验证码,后台收到请求后通过判断验证码可以防御CSRF
3在请求地址中添加token并验证
CSRF 攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于cookie中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的cookie 来通过安全验证。要抵御 CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有token或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。这种方法要比检查 Referer 要安全一些,token 可以在用户登陆后产生并放于session之中,然后在每次请求时把token 从 session 中拿出,与请求中的 token 进行比对,但这种方法的难点在于如何把 token 以参数的形式加入请求。
对于 GET 请求,token 将附在请求地址之后,这样 URL 就变成 http://url?csrftoken=tokenvalue。
而对于 POST 请求来说,要在 form 的最后加上 ,这样就把token以参数的形式加入请求了。
4 在http头中自定义属性并验证
这种方法也是使用 token 并进行验证,和上一种方法不同的是,这里并不是把 token 以参数的形式置于 HTTP 请求之中,而是把它放到 HTTP 头中自定义的属性里。通过 XMLHttpRequest 这个类,可以一次性给所有该类请求加上 csrftoken 这个 HTTP 头属性,并把 token 值放入其中。这样解决了上种方法在请求中加入 token 的不便,同时,通过 XMLHttpRequest 请求的地址不会被记录到浏览器的地址栏,也不用担心 token 会透过 Referer 泄露到其他网站中去。


python


1 递归求和
2python字典和json字符串相互转化方法
3MyISAM和InnoDB区别
4统计字符串字符出现次数
5 转化大小写


Answer


1
基础知识2020-5-5_字符串_03
2
方法 json.dumps() 字典转Json
方法 json.loads()j’son转dict
基础知识2020-5-5_字符串_04
3
1 InnoDB支持事务,MyISAM不支持。
2MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用
3InnoDB支持外键 MyISAM不支持
4对于自增长的字段,InnoDB必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引
5清空整个表时,InnoDB是一行一行删除,MyISAM则是重建表
4
基础知识2020-5-5_字段_05
5
基础知识2020-5-5_字符串_06