满分求教一个自动登录器
我程序的功能就是,点击一个按钮,他就会去进行如下操作:打开指定路径的运用程序(如:QQ) 自动输入帐号和密码 自动登录,然后登录一段时间后自动退出。
求思路。。。。 --------------------编程问答-------------------- 如果100分是满分。你让我这个200分起步的怎么办 --------------------编程问答-------------------- --------------------编程问答-------------------- 如果是qq的话,还是模拟键盘鼠标操作吧。 --------------------编程问答-------------------- 不同安全等级可以用不同的方法。
最差的方法,用户名和密码都明文存在固定文件里,要自动登录的时候检测这个用户名和密码是否正确就可以了。
稍微高级点的方法,把密码存为md5值。
更高级的方法,加密保存的数据库。
最终的方法(上面的方法都不推荐使用,太容易破解):
在第一次登录的时候,服务器生成一个全局唯一,将来也不会重复的Key。这个Key必须保证安全性。可以考虑使用guid生成key。服务器数据库上记录这个key,和key相对应的用户名和过期时间。
登录完成后,在客户端保存这个key。自动登录的时候只要检测这个key是否存在并没有过期即可。
如果想要更高的安全级别,保存这个key的时候再进行一次加密。
例如:
中心代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
//添加引用
using SHDocVw;//位于windows/system32目录下
using mshtml;
//每个button控件对应的代码模板如下
private void button6_Click(object sender, EventArgs e)
{//163邮箱登陆
try
{
SHDocVw.InternetExplorer IE = new InternetExplorer();
IE.Visible = true;
string URL = "http://mail.163.com/";
object nullArg = null;
IE.Navigate(URL, ref nullArg, ref nullArg, ref nullArg, ref nullArg);
System.Threading.Thread.Sleep(3000);
//得到IE的文档对象模型
mshtml.IHTMLDocument2 DOM = (mshtml.IHTMLDocument2)IE.Document;
//声明用户名
mshtml.IHTMLInputTextElement txtUserName = (mshtml.IHTMLInputTextElement)DOM.all.item("username", null);
txtUserName.value = "yourEmail";
//声明密码
mshtml.IHTMLInputTextElement txtPwd = (mshtml.IHTMLInputTextElement)DOM.all.item("password", null);
txtPwd.value = "yourPassword";
//声明登录
mshtml.HTMLInputElement btnLogin = (mshtml.HTMLInputElement)DOM.all.item("登录邮箱", 0);//无法登陆
System.Threading.Thread.Sleep(1000);
btnLogin.click();
}
catch (Exception ex)
{
MessageBox.Show("登录失败!");
}
}
--------------------编程问答--------------------
用 windows api 获取子控件句柄,然后赋值就行了。 --------------------编程问答--------------------
能具体点么? --------------------编程问答--------------------
我不是要防止这个,我是要做自动登录器,不是去防止别人自动登录呢。 --------------------编程问答--------------------
补充:.NET技术 , 非技术区