美文网首页
HTML表单

HTML表单

作者: XuZiYa | 来源:发表于2018-09-30 20:56 被阅读0次

    1.post和get方式的不同

    get方式

    表单数据以名称/值对的形式附加到URL中,提交内容的长度因为URL长度有限而被限制,安全性低。适用于非安全数据,比如当你想要向后台获得某些数据,通过get方式传输数据信息给后台。

    post方式

    表单数据一并包含在表单主体中, 一起转送到服务器中处理,没有数据大小限制,数据不会显示在URL中,安全性高。适用于提交保密性的数据给后台。

    表象不同,get把提交的数据url可以看到,post看不到
    原理不同,get 是拼接 url, post 是放入http 请求体中
    get提交的数据在浏览器历史记录中,安全性不好
    场景不同,get 重在 "要", post 重在"给"

    关于get请求最大长度(摘自stackoverflow)

    最大长度的限制取决于服务器和使用的客户端(如果用到代理的话,还取决于服务器和客户端正在使用的代理)。
    大多数Web服务器的限制为8192字节(8KB),通常可在服务器配置中的某处进行配置。至于客户端问题,HTTP 1.1规范提到过这一点,下面时第3.2.1章的摘录:
    注:服务器在依赖大于255字节的URI时应谨慎,因为一些旧的客户或代理实现可能不支持这些长度。
    MSIE和Safari的限制大约时2KB,Opera的限制大约时4KB,Firefox的限制大约是8KB。因此,我们可以假设8KB是最大可能长度,并且2KB是服务器端依赖的更可承受的长度,并且255字节是整个URL能够进入GET请求的最安全长度。
    如果GET请求的长度超过浏览器或服务器的限制,大多数浏览器或服务器截断限制之外的字符并且不发出任何警告。而某些服务器可能会提示HTTP 414错误。如果您需要发送大数据,那么最好使用POST请求而不是GET请求。POST请求的最大长度的限制要高得多,它更多地依赖于使用的服务器而不是客户端。通常,网络服务器平均允许高达2GB左右。这也可以在服务器设置中的某处进行配置。当POST请求的最大长度超过服务器限制时,服务器将显示特定于服务器的错误/异常,通常为HTTP 500错误。

    2.CSRF攻击

    CSRF(Cross-site request forgery)跨站请求伪造,就是攻击者构造网站后台某个功能接口的请求地址,诱导用户去点击或者用特殊方法让该请求地址自动加载。用户在登录状态下这个请求被服务端接收后会被误以为是用户合法的操作。也就是攻击者盗用了用户的身份,以用户的名义发送一些对用户不利的请求,例如盗取账号,虚拟货币转让,隐私泄露,危害财产安全。

    防范:服务端在客户端页面增加伪随机数。将随机数埋入页面,一般是埋入表单中,同时随机数也会作为cookie或session种入用户的浏览器,当用户发送请求时,表单里的随机数一同被提交上去,后台解析了cookie后获取了随机数的值和用户提交的值进行比较,相等的话就说明这个请求是合法的。

    相关文章

      网友评论

          本文标题:HTML表单

          本文链接:https://www.haomeiwen.com/subject/wafgoftx.html