用户验证
来源:互联网 发布:上海哪里有mac专柜 编辑:程序博客网 时间:2024/06/14 01:58
现在不少人应该都有这个意识不在数据库里存用户密码了,当然我刚知道,因为不少人估计和我一样对安全没有任何概念。
https目前还没有搞通, c的比较别扭,node的就很容易。
但是了解到了http get 和 post的时候是可以带验证的,服务器验证的时候就需要考虑下怎么验证了。我现在了解到的知识:
用户名必须要保存的,
密码必须不保存的,
加盐是必须的,
md5, sha1, sha256, sha384, sha512,这些算法调用openssl是非常快的,每个操作一个字符串执行时间都在1,2个毫秒。
搞了2天,http基本通了,https带上ssl就不行了,希望能解决,目前太痛苦了。资料太少。
=========================================================================
2017-11-29 更新, 终于通了
indy的资料太少,而且目前网上的资料没有一个是完整的,是时候放弃indy搞网络开发了
基本步骤:
0。下个openssl http://indy.fulgan.com/SSL/
1。openssl生成 rootkey和验证文件,这个基本上例子都是没问题的
a. openssl genrsa -des3 -out root.key 1024
b. openssl req -new -x509 -days 3650 -key root.key -out verf.crt -config openssl.cnf
然后将 root.key和 verf.crt复制到程序目录,如果openssl.cnf不在openssl\bin下,搜索下,新版本的都带
程序里加上:
IdServerIOHandlerSSLOpenSSL1->SSLOptions->RootCertFile=ExtractFilePath(Application->ExeName)+"verf.crt";
IdServerIOHandlerSSLOpenSSL1->SSLOptions->CertFile= ExtractFilePath(Application->ExeName)+"verf.crt";
IdServerIOHandlerSSLOpenSSL1->SSLOptions->KeyFile= ExtractFilePath(Application->ExeName)+"root.key";
2。将 3个文件复制到你的程序目录:libeay32.dll ssleay32.dll msvcr120.dll
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/OpenSSL
3。开始配置 idhttp和idhttpserver ,idhttp比较简单,放上个IdSSLIOHandlerSocketOpenSSL基本就可以了
主要是idhttpserver , 在connect中加上这个:
if (AContext->Connection->IOHandler->ClassName() == "TIdSSLIOHandlerSocketOpenSSL")
(( TIdSSLIOHandlerSocketOpenSSL *)AContext->Connection->IOHandler)->PassThrough= false;
如果没有这个ssl是没法工作的,会报错,加上这两行神奇的代码就可以享受https
另外,对于http,不用做修改,可以直接运行
- 验证用户
- 用户验证
- 用户验证
- 用户验证
- Jstl验证用户登录
- 用户输入验证概述
- ajax的验证用户
- SQL用户登陆验证
- ajax 用户验证
- webservice用户调用验证
- cakephp 用户验证
- Ext 用户输入验证
- 用户登录验证
- RCP用户登录验证
- 用户登录验证安全问题
- apache用户验证
- Apache用户验证
- jquery用户验证
- 【数据可视化】数据可视化七大发展趋势
- ruby环境搭建
- BUI+Springboot,问题总结
- 页面内容的隐藏和显示-hide()方法和show()方法
- CentOS 7.0关闭默认防火墙启用iptables防火墙
- 用户验证
- 莫烦tensorflow教程笔记(四)
- bootstrap
- Linux下基于RPM BUNDLE包安装MySQL
- Android笔试和面试常见题目(五)
- java提供的函数式接口
- 改变a默认样式
- 反射机制
- 670. Maximum Swap