技术难题```估计得用xml的相关技术```

boywind 2004-08-11 06:09:48
客户要求做个网站,现在情况是这样的,他在一个网站上有个用户,能并且只能在登陆后看到这个数据资料,登陆的用户可以在每行数据后,(注意,是每行都有表单哦)点击按钮进行数据提交。

现在,这个客户想做个网站,把先前那个网站的数据引用到自己的网站上来,但客户登陆后,也能看到先前那个网站的数据,(主要是信息数据,像按钮之类的东西,可以不显示)但,点击按钮后,数据提交到自己的网站上来。

不知道我说得清楚没有,请大伙帮帮忙,要能彻底解决了,怎么放我血都行!!!头回来xml版,大伙多多关照
...全文
181 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
boywind 2004-08-14
  • 打赏
  • 举报
回复
感谢 yonghengdizhen(等季节一过,繁花就凋落') 的帮助。
同时,感觉xml版的人气似乎不是很汪```
aspczlover 2004-08-14
  • 打赏
  • 举报
回复
学习~
凯晰叶子 2004-08-13
  • 打赏
  • 举报
回复
上面的说得都不错,我也是头回来这里!
boywind 2004-08-13
  • 打赏
  • 举报
回复
首先用xmlhttp获取登录页的html文本,用正则表达式析取验证码???

给段代码例子看看吧```
yonghengdizhen 2004-08-13
  • 打赏
  • 举报
回复
如果是这样,那么首先用xmlhttp获取登录页的html文本,用正则表达式析取验证码,然后用在整个过程中将它附加进去就是了.
yonghengdizhen 2004-08-13
  • 打赏
  • 举报
回复
上面的正则表达式可能有问题.提取的结果可能不只一个.
最好在其中附加名字特征串(形如name=uid)
boywind 2004-08-13
  • 打赏
  • 举报
回复
补充 用正则表达式析取验证码 如下:

Set regEx=New RegExp
regEx.Pattern="(.+)(value="")(.+)("")(.+)"
regEx.IgnoreCase=true
regEx.Global=True
Str = "<input type=HIDDEN name=""uid"" value=""3c35593378016f53"">"
Str = regEx.replace(Str,"$3")

response.write Str


感谢 yonghengdizhen(等季节一过,繁花就凋落') 的帮助。

不知道别的朋友还有什么补充的没有,本帖明天结贴。

另外,请xml版的朋友推荐几本学习XML的书籍,谢了
boywind 2004-08-12
  • 打赏
  • 举报
回复
to yonghengdizhen(等季节一过,繁花就凋落')

1 如果对方网站对 提交页的URL 进行判断,那样又好使么???

2 &"&password=")---怎么多了个&,应该 &"password=" & gUserLoginPwd) 吧??

3 你这样做,是不是把登陆跟读取数据分开了啊??? 注意:读取数据要登陆才能读取哦。

4 能不能给个详细点的程序??

5 感谢你的回答!!!!!!
yonghengdizhen 2004-08-12
  • 打赏
  • 举报
回复
如果对方服务器采用基本验证,或https,你需要在send方法的参数中指明登录该windows系统所用的用户名和密码
yonghengdizhen 2004-08-12
  • 打赏
  • 举报
回复
别人的数据倒不一定非得要xml编码,不过有一点是肯定的.需要用到xmlhttp
至于登录该网站需要登录帐号这容易解决,如果该网站的登录不需要附加码验证的话用下面的方法就可以获得登录Session
gXmlHttp.Open "POST", gRootURL, False '测试用代码
gXmlHttp.setRequestHeader "Content-Length", Len("user_name=" & gUserLoginName & "&password=") '测试用代码
gXmlHttp.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded" '测试用代码
gXmlHttp.send "user_name=" & gUserLoginName & "&password=" '测试用代码

此处的user_name,password就是你的登录表单填写用户名和密码的位置.
而gRootURL则是该网站登录表单的action指的url

使用客户端xmlhttp存在一个问题那就是跨域的安全性警告,为了避免这一点,可将xmlhttp实现在服务端,将目标数据访问页尾部附加一段全局脚本,用于修改数据提交action为本站内的url

服务端xmlhttp访问有一个限制,那就是对方网站如果使用https协议,你的站点服务器必须安装有对方双方信任的证书发行机构发行的证书.否则asp因权限问题会失败
boywind 2004-08-12
  • 打赏
  • 举报
回复
呵,突然想起来,这其实就是验证码````不知道老兄你对验证码有没有什么好的解决办法?
boywind 2004-08-12
  • 打赏
  • 举报
回复
唔```解释得很详细``` :)

还有个问题,在登陆页,服务端生成一个随机数 uid 作为登陆验证
<input type=HIDDEN name="uid" value="3c35593378016f53">

而且,这个数将在 登陆前后 伴随用户贯穿整个网站,用户登陆验证中,需要对这个 uid 进行验证,如果验证通过,这个数将伴随用户到每个页,也同样进行验证。

问:对这个数的读取,有没有什么想法???
boywind 2004-08-12
  • 打赏
  • 举报
回复
对方的网站要登陆才能看到数据信息的,而我们要做的是不登陆就读数据,或者说,登陆过程由程序执行

这个问题谁能帮忙解决一下啊????
yonghengdizhen 2004-08-12
  • 打赏
  • 举报
回复
1 如果对方网站对 提交页的URL 进行判断,那样又好使么???
你是指的http_refere服务器变量吧,那是可以伪造的.

2 &"&password=")---怎么多了个&,应该 &"password=" & gUserLoginPwd) 吧??
没有多,form进行用"&"分隔form field

3 你这样做,是不是把登陆跟读取数据分开了啊??? 注意:读取数据要登陆才能读取哦。
先登录获得Session,然后xmlhttp请求数据所在页的url,将获得的响应文本用服务端Response.Write输出(这在你的服务端脚本中实现为一个连续过程就是了,不过xmlhttp必须使用同步方式,才能保证这种序列),并且在此之后附加一段修改该页表单action的脚本.
如果该表单的action使用的是相对url,那么你只需要用和其action指定的脚本同名的文件处理该提交就OK了.
当然,如果他的表单提交时指定action的话,那么全局脚本修改的action可能没有效果,你只能将它的提交事件处理替换成自己的提交处理.

4 能不能给个详细点的程序??
就算给你一个详细点的程序你也没办法用.因为能用到的核心代码就是上面那几句

5 感谢你的回答!!!!!!
客气了
boywind 2004-08-11
  • 打赏
  • 举报
回复
不明白什么意思````继续啊````help
lonlykiller 2004-08-11
  • 打赏
  • 举报
回复
伪造点头部信息把cookies一块发过去........
boywind 2004-08-11
  • 打赏
  • 举报
回复
我在ASP版问过了,也说用xmlhttp,但,我对xml还是初学,对xmlhttp跟是不懂了

大伙能不能给推荐些速成的书籍或者给点相关源码么?眼前最主要的是要给老板交差啊```

帮帮忙```不然真死定了```
boywind 2004-08-11
  • 打赏
  • 举报
回复
不一定要保存到自己数据库中,只要能把登陆到对方网站后所看到的信息显示到自己的网站就可以了,而且,我们不知道对方网站的数据库,数据结构
难点有两个
1, 对方的网站要登陆才能看到数据信息的,而我们要做的是不登陆就读数据,或者说,登陆过程由程序执行
2, 怎么提取所需要的数据
lonlykiller 2004-08-11
  • 打赏
  • 举报
回复
他原来的那个网站如果可以改的话用XML,然后新的网站读取数据就可以了,当然,可能新网站读取旧网站的数据的时候每次都得传递用户秘密等等.可能请求的时候改一下http的头部?用xmlhttp吧..

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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