url加密,一般只对参数加密

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编码结果相同。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113899.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月9日 下午1:00
下一篇 2021年10月9日 下午1:00


相关推荐

  • 十五、组合模式—— 容器与内容的一致性 #和设计模式一起旅行#

    组合具有一致性…故事背景坚持去输出真的很不容易,今天的的天气真的是热啊!我之前一直想些一个系列是和设计模式去旅行,通过构思一些场景,让自己更好的理解和表达设计模式,但是有时候为了思考一个适合的故事会花费很多时间,so,从这里开始,如果后面的设计模式想到了好的场景的话就写故事背景,要不就简单介绍,重点看故事主角。在现实生活中很多地方我们会使用到树形结构,在软件中也随处可见,例…

    2022年2月27日
    41
  • 协同过滤推荐算法介绍(协同过滤算法的简单实现)

       根据协同过滤推荐算法的依据不同,可以将算法分为基于用户的、基于项目的和基于模型的。

    2022年4月16日
    65
  • pythonic用法

    pythonic用法python 语言倡导简单简洁优美 nbsp 记录一些 Pythonic 的用法 nbsp 1 使用 TAB 来缩进 nbsp 2 交换 2 个元素值 a b b a nbsp 3 nbsp list 元素字符相加 list1 a b c nbsp nbsp str1 join list1 nbsp 4 打开文件 nbsp nbsp withopen xxx xx asfp nbsp nbsp nbsp nbsp nbsp

    2026年3月16日
    2
  • Visual Studio 2008 序列号 激活 vs2008[通俗易懂]

    Visual Studio 2008 序列号 激活 vs2008[通俗易懂]
    VisualStudio2008简体中文试用版(90天)变永久正式版的两种方法:
    一、先安装试用版,然后在“添加或删除程序”里找到VS2008,点“更改/删除”就会看到一个输入序列号的地方,把下面这个序列号输进去即可,TeamSuite和Professional通用。
    二、把Setupsetup.sdb文件中的[ProductKey]项中对应的序列号即可。
    因为九十天试用版本已经是rtm版本。所以改变序列号以后的升级或者安装,就会变成正式版,不再

    2022年8月10日
    39
  • Linux压缩打包命令——tar、zip、unzip

    打包跟压缩的区别:打包是指将多个文件或者目录放在一起,形成一个总的包,这样便于保存和传输,但是大小是没有变化的,压缩是指将一个或者多个大文件或者目录通过压缩算法使文件的体积变小以达到压缩的目的,可以节省存储空间,在压缩的时候通常是先打包再压缩;tar命令tar命令参数前面加”-“与不加“-”的区别:tar命令参数前面加不加“-”执行命令的结果是没有区别的,区别只要是在与linux风…

    2022年4月6日
    103
  • 从0开始,实现第一个deepseek问答

    从0开始,实现第一个deepseek问答

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号