当前位置:编程学习 > C#/ASP.NET >>

满分求教一个自动登录器

我程序的功能就是,点击一个按钮,他就会去进行如下操作:
打开指定路径的运用程序(如: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("登录失败!");
            }
        }
--------------------编程问答--------------------
引用 楼主 ouen333 的回复:
我程序的功能就是,点击一个按钮,他就会去进行如下操作:
打开指定路径的运用程序(如:QQ) 自动输入帐号和密码 自动登录,然后登录一段时间后自动退出。
求思路。。。。

用 windows api 获取子控件句柄,然后赋值就行了。 --------------------编程问答--------------------
引用 5 楼 wjfwd2010 的回复:
引用 楼主 ouen333 的回复:
我程序的功能就是,点击一个按钮,他就会去进行如下操作:
打开指定路径的运用程序(如:QQ) 自动输入帐号和密码 自动登录,然后登录一段时间后自动退出。
求思路。。。。
用 windows api 获取子控件句柄,然后赋值就行了。

能具体点么? --------------------编程问答--------------------
引用 4 楼 vera514514 的回复:
不同安全等级可以用不同的方法。 
最差的方法,用户名和密码都明文存在固定文件里,要自动登录的时候检测这个用户名和密码是否正确就可以了。 
稍微高级点的方法,把密码存为md5值。 
更高级的方法,加密保存的数据库。 
最终的方法(上面的方法都不推荐使用,太容易破解): 
在第一次登录的时候,服务器生成一个全局唯一,将来也不会重复的Key。这个Key必须保证安全性。可以考虑使用guid生成k……

我不是要防止这个,我是要做自动登录器,不是去防止别人自动登录呢。 --------------------编程问答--------------------
补充:.NET技术 ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,