url加密,一般只对参数加密
首先,很不推荐你使用get方式发送密码,最好是使用post.
原因是,你通过一个连接把用户名和密码发送到后台,即便密码不是明文,别人获取不到密码明文,但是,只要你这个连接成功登陆过,别人就可以拿这个连接到处登陆.密码明文加密完全形同虚设.
如果非想使用get方式发送,我可以给你个思路,就是表单附带发送令牌,这个令牌是表单内的隐藏域,后台里对每一个时刻都不同的字符串做单向加密然后保存SESSION会话,一般使用md5方式,然后表单页面隐藏域写出该SESSION的值.发送表单的时候,附带令牌一起发送,(在url形式中就是多了一个参数),后台验证令牌是否是保存过的SESSION值,如果是,执行登陆,如果不是,就报错.
不管令牌是不是正确的,你都需要在每次生成页面时重新更新一次令牌并输出,这样才能保证唯一性.
然后你可以使用js版的md5把密码处理成加密字符串.
这样可以躲过部分不熟悉html的,但是如果他懂html,只需查看html的令牌,然后自己去组成url,那么照样还是不行.
所以,这种形式仍是不可取的,正宗的方式就是post发送用户名和密码,或是ajax的get方式发送.
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:,decodeURI,decodeURIComponent
1.传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:
2.进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");
3. js使用数据时可以使用escape
例如:搜藏中history纪录。
4.escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
url加密,一般只对参数加密的更多相关文章
- 常见三种加密(MD5、非对称加密,对称加密)
转载. https://blog.csdn.net/SSY_1992/article/details/79094556 任何应用的开发中安全都是重中之重,在信息交互异常活跃的现在,信息加密技术显得尤为 ...
- 利用MVC的过滤器实现url的参数加密和解密
最近在与一个IOS应用做接口对接,之前一直都没有遇到什么很大的问题,但是有一天发现可以通过软件解析app的url,然后直接通过url的拼接修改接口数据,这一下使得数据的安全性和准确性都降低了,于是就想 ...
- 如何写出安全的API接口(参数加密+超时处理+私钥验证+Https)- 续(附demo)
上篇文章说到接口安全的设计思路,如果没有看到上篇博客,建议看完再来看这个. 通过园友们的讨论,以及我自己查了些资料,然后对接口安全做一个相对完善的总结,承诺给大家写个demo,今天一并放出. 对于安全 ...
- 学习加密(四)spring boot 使用RSA+AES混合加密,前后端传递参数加解密
学习加密(四)spring boot 使用RSA+AES混合加密,前后端传递参数加解密 技术标签: RSA AES RSA AES 混合加密 整合 前言: 为了提高安全性采用了RS ...
- jmeter 请求发送加密参数(加密接口测试一)
最近在做http加密接口,请求头的uid参数及body的请求json参数都经过加密再发送请求,加密方式为:ase256.所以,jmeter发送请求前也需要对uid及json参数进行加密.我这里是让开发 ...
- Java常用的加密解密类(对称加密类)
Java常用的加密解密类 原文转载至:http://blog.csdn.net/wyc_cs/article/details/8793198 原创 2013年04月12日 14:33:35 1704 ...
- IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现
看完过后,你会学到: 1学习IOS开发中的分类实现, 2以及类方法的书写, 3以及字符串的MD5加密/解密. ---------------------------wolfhous---------- ...
- PHP中使用OpenSSL生成RSA公钥私钥及进行加密解密示例(非对称加密)
php服务端与客户端交互.提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一个例子来说明如何用php来实现数据的加密解密 先了解一下关于 ...
- c#加密,java解密(3DES加密)
c#代码 using System; using System.Security; using System.Security.Cryptography; using System.IO; using ...
随机推荐
- Disruptor并发框架(一)简介&上手demo
框架简介 Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易.这个系统是建立在JVM平台上,其核心是一 ...
- chromedriver与chrome版本映射列表
chromedriver与chrome版本映射列表: chromedriver版本 支持的Chrome版本 v2.30 v58-60 v2.29 v56-58 v2.28 v55-57 v2.27 v ...
- curl -windows下接口通讯
1,下载curl -----url命令传输工具 2,配置curl环境变量 3,在cmd环境中使用 举例:curl -G http://xxxxxxx.com?+参数 使用:curl -G &quo ...
- 消费五分钟,小白也能了解的经典技术:关于IP负载均衡(LVS之NAT)
这里准备以两篇文章来大概讲述一下LVS负载均衡 NAT TUN/DR和共享存储 前言: 为什么搭建LVS: 若一台服务器只能支持10人在线.那么有100人访问,则需要多少台服务器. 这个不言而喻:10 ...
- 最新版Solr 7.2安装配置
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http Get操 ...
- Nodejs(pkg方式安装)卸载 及命令行模式的重新安装
直接在terminal下运行以卸载node和nvm: sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,shar ...
- JAVA处理Http请求(GET,POST)
本文用的是java.net里面的方法,HttpClient也可以. java.net.HttpURLConnection java.net.URL 1. GET public static Strin ...
- java中重载一定在一个类里面吗?
虽然这些概念在翻译成中文的过程中,有很多不同的翻译方式但本质上只有两种说法,就是Override和Overload其中,Overload一般都被翻译成重载而Override的翻译就乱七八糟了,所谓覆盖 ...
- 微信小程序——获取openid
1.在微信小程序后台得到appid.AppSecret 2.在任意小程序界面的[onLoad]中取得code(建议将代码写在index.js中) 3.用取得code换取openid 如后台无法将ope ...
- GO开发[三]:fmt,strings,strconv,指针,控制结构
一.fmt包 %v 值的默认格式表示.当输出结构体时,扩展标志(%+v)会添加字段名 %#v 值的Go语法表示 %T 值的类型的Go语法表示 %% 百分号 %t 单词true或false %b 表示为 ...