语言:c#
框架:2.0
WebServer:IIS 6.0 需要做个重定向,由于安全问题,不能通过向客户端输出form表单来实现重定向。
同时又由于必须以POST形式提交参数,因此又不能使用Response.Redirect()。
而且重定义目标地址并非源站点(或虚拟目录)下页面,也就不能使用url重写。 大致期望的流程是这样的
客户端POST数据到www.siteA.com/default.aspx
default.aspx对数据进行加工(增删改)后,带参数(POST)重定向到www.siteB.com/default.aspx <-这步是服务器端的,客户端不知道
客户端POST数据后打开了www.siteB.com/default.aspx页面进行后续操作。 请教各位有什么高招?
框架:2.0
WebServer:IIS 6.0 需要做个重定向,由于安全问题,不能通过向客户端输出form表单来实现重定向。
同时又由于必须以POST形式提交参数,因此又不能使用Response.Redirect()。
而且重定义目标地址并非源站点(或虚拟目录)下页面,也就不能使用url重写。 大致期望的流程是这样的
客户端POST数据到www.siteA.com/default.aspx
default.aspx对数据进行加工(增删改)后,带参数(POST)重定向到www.siteB.com/default.aspx <-这步是服务器端的,客户端不知道
客户端POST数据后打开了www.siteB.com/default.aspx页面进行后续操作。 请教各位有什么高招?
解决方案 »
- 谁有.NET ASP.NET MVC 的大型项目开发教程 或者视频?
- 大家做网站时 都是用哪些 数据库设计工具啊。。
- UserControl问题
- asp.net 怎么实现在现音乐播放?谢谢
- 页面中有个RadioButtonList控件,我想实现点击圆圈选中或者点击圆圈旁边相应的
- 为什么在visual studio 2010的代码界面想拖动鼠标来选中代码时,visual studio 2010就会显示出错
- Javascript问题
- 如何解决 SQL 语句 漏洞问题 ?????????????????????????????????
- 请教WEB报表打印--急
- 后期缓存替换与修改响应缓冲区的 IIS 集成管线中的模块不兼容。
- 第一次添加成功,第二次添加出现“为过程或函数指定的参数太多”
- aspx放个音乐专区·怎么去实现·急·
http://topic.csdn.net/u/20090427/16/7A11B262-046A-491B-94B1-3E06BD6585A9.html
同时又由于必须以POST形式提交参数,因此又不能使用Response.Redirect()。
而且重定义目标地址并非源站点(或虚拟目录)下页面,也就不能使用url重写。
你的方法也尝试过,由服务器请求目标,然后将Response返回给客户端,但有个致命的缺陷,如果目标页需要再进一步操作,比如输入密码时,你这方法就没办法实现了。
需要跨站点呃。。目标地址是别人公司网址比如,www.google.com
请问你的“中转页post 到目标页” 是由客户端完成,还是服务器端完成?如果客户端完成,那么数据就泄漏了
如果服务器完成,那和目标页的网络连接,变成了我服务器与目标页的连接,客户端没办法进一步操作。
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:Button ID="btn" runat="server" onclick="btn_Click" />
</form>
</body>
</html>protected void btn_Click(object sender, EventArgs e)
{
Server.Transfer("Transit.aspx");
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body onload='document.getElementById("form2").submit();'>
<form id="form1" runat="server">
</form>
<form id='form2' action="Target.aspx" method="post" >
<%=str %>
</form>
</body>
</html>protected string str = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
str = "<input type='text' name='txt' value='post' />"; }
{
Response.Write(Request.Form["txt"]);
}
输入密码我想也应该是由客户端通过浏览器中输入的,所以密码你在处理过程中一样可以拿到,直接按post格式传递上去应该没有问题。
也想过,目标页是安全级别很高的网站,不知道行不行呢。
考虑过用C#实现一个web代理程序,代理目标页算了,不过实现起来困难。