百分大讨论:如何在后台“偷偷摸摸”传递参数(通过HTTP://)。

dcren521 2004-02-11 11:29:07
是这样的
我们公司有一个网站,合作公司(简称:B公司)也有一个网站,合作协议是,B公司的所有员工无须在我公司网站注册就可以利用其在B公司网站的登录名和密码的登录我公司网站,而验证则要通过B公司的验证系统。
例如:
 利用我公司的登录页面:http://www.A.com/logon.jsp 登录输入userid 和password,假如他们的值分别为:“dcren”,"521"
我们则利用B公司提供的地址进行参数传递:http://www.B.com/validate.jsp?userid=dcren&password=521
B公司处理验证结果给我公司传回参数result=0(失败),result=1(成功)
我们根据result的值引导登录用户进入不同的页面。

解决构思:
 构思1、如果在logon.jsp 中的表单的action="http://www.B.com/validate.jsp?userid=dcren&password=521",显然不合本意,因为这样的处理相当于我们把用户的要求抛出到B公司,本来用户访问我公司网站,变成了用户与B公司的网站的交互。

 构思2、利用javascript中的self.location="http://www.B.com/validate.jsp?userid=dcren&password=521"来实现页面跳转。我做了个极为简单的模拟:如下所示:a1.jsp为用户登录页面,a2.jsp为结果页面。b.jsp为在a2.jsp中javascript中的self.location="b.jsp"跳转到的验证页面,在b.jsp中再使用javascript中的self.location="a2.jsp"跳转回来。烦了吧!
下面是我做的试验源代码。

a1.jsp中的关键源代码
……
<form name="form1" method="post" action="a2.jsp">
<p align="center">
用户名
<input name="userid" type="text" id="userid">
</p>
<p align="center">密码 
<input name="password" type="text" id="password">
</p>
<p align="center">
<input type="submit" name="Submit" value="提交">
</p>
</form>
……

a2.jsp中的关键源代码
……
<%
String userid=request.getParameter("userid");
String password=request.getParameter("password");
String result=request.getParameter("result");
if(result==null)
{
%>
<script language="javascript">
self.location="b.jsp?userid=<%=userid%>&password=<%=password%>"
</script>
<%
}
else
{
out.println(result);
}
%>
……

b.jsp中的关键源代码
……
<%
String userid=request.getParameter("userid");
String password=request.getParameter("password");
String result="0";
if(userid.equals("dcren")&&password.equals("521"))
result="1";
%>
<script language="javascript">
self.location="a2.jsp?result=<%=result%>";
</script>
……
本机测试速度好快,几乎感觉不到两次页面的跳转
似乎可以实现,但我想这种方法不好,其一,地址栏中传递用户登录名与密码安全性不高,如果网速慢的话,跳转便让人感觉出来。
有人说可在后台通过JAVA的类来实现(也许是可以在后台“偷偷摸摸的进行了参数的传递”),但本人不太明白应该用什么类,请各位GGJJDDMM帮忙。
...全文
53 26 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧