none
如何让服务器对uid与pwd进行验证,并将验证结果返回给客户端 RRS feed

  • 问题

  • 请教一下:
    现在有这样一个需求,假设服务器地址 www.fuq.com,客户机运行的软件通过 http://www.fuq.com/uid=UserName&pwd=PordWord来发送请求,服务器对uid与pwd进行验证,并将验证结果返回给客户端。这采用什么样的方式来实现?
    2011年3月15日 8:18

全部回复

  • webclient吧
    2011年3月15日 9:27
  • 如果你想远程在客户端验证用户名和密码,可用通过WEBSERVICE服务来实现
    http://blog.csdn.net/zx13525079024
    2011年3月15日 14:50
  • 在url中提交用户名密码会有安全问题

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年3月15日 16:25
    版主
  • 不太清楚你问的是哪一端的问题。发请求可以使用HttpWebRequest,WebClient类
    【孟子E章】
    2011年3月16日 0:49
    版主
  • 我客户端为c/s程序,代码如下: 

    private void button1_Click(object sender, EventArgs e)
     {
                StringBuilder sbTemp = new StringBuilder();
                //POST
                sbTemp.Append("uid=" + UserName.Text.Trim() + "&pwd=" + Pwd.Text.Trim());
                byte[] bTemp = System.Text.Encoding.GetEncoding("GBK").GetBytes(sbTemp.ToString());
                //byte[] bTemp = System.Text.Encoding.ASCII.GetBytes(sbTemp.ToString());
                String postReturn = doPostRequest("http://www.fuq.com/default.aspx",bTemp);
                if (postReturn.IndexOf("xzok") >= 0)
                {
                    labMsg.Text = "正常";
                }
                else
                {
                    labMsg.Text = "非法";
                }
             
    }
    private static String doPostRequest(string url, byte[] bData)
    {
             
                System.Net.HttpWebRequest hwRequest;
                System.Net.HttpWebResponse hwResponse;
                string strResult = string.Empty;
                try
                {
                    hwRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
                    hwRequest.Timeout = 5000;
                    hwRequest.Method = "POST";
                    hwRequest.ContentType = "application/x-www-form-urlencoded";
                    hwRequest.ContentLength = bData.Length;

                    System.IO.Stream smWrite = hwRequest.GetRequestStream();
                    smWrite.Write(bData, 0, bData.Length);
                    smWrite.Close();
                }
                catch (System.Exception err)
                {
                    WriteErrLog(err.ToString());
                    return strResult;
                }
                //get response
                try
                {
                    hwResponse = (HttpWebResponse)hwRequest.GetResponse();
                    StreamReader srReader = new StreamReader(hwResponse.GetResponseStream(), Encoding.ASCII);
                    strResult = srReader.ReadToEnd();
                    srReader.Close();
                    hwResponse.Close();
                 }
                catch (System.Exception err)
                {
                    WriteErrLog(err.ToString());
                }
                return strResult;
    }

    服务器端为一个网站,http://www.fuq.com/default.aspx代码如下:

     protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["uid"] != null || Request.QueryString["pwd"] != null)
            {
                if (Request.QueryString["uid"] == "zxl" || Request.QueryString["pwd"] == "761130")
                {
                    Response.Write("xzok");
                }
                else
                {
                    Response.Write("xzerror");
                }
            }
            else
            {
                Response.Write("xzerror");
            }
        }

    可是我在客户端输入zxl,761130却得不到"正常",不知代码有什么问题?

     

    2011年3月16日 2:08
  • 我感觉问题是服务器端接收的代码不对,但不知该如何去写?
    2011年3月16日 6:24