【问题标题】:Writing a replacement asp/html form for a legacy system为遗留系统编写替换 asp/html 表单
【发布时间】:2009-01-28 15:53:55
【问题描述】:

快速提问。

有一个旧网站(不受我控制且无法修改),它为用户提供填写数据的表格,然后用户“提交”表格进行处理。此表单几乎没有错误检查,对用户的帮助也很少(即它在 12 年前设计得非常糟糕,此后一直没有更新)。

不过,此应用程序的后端执行一项关键功能。

我的问题是,是否有可能(没有任何修改旧网站的能力)在不同的服务器和域上的 asp.net 中编写我自己的新前端(具有适当的预提交验证),然后只要我重现正在发送的表单/数据,就可以模拟“提交”到另一个网络服务器?

我想这里的关键问题是,是否可以将一个网站上的表单提交到另一个网站,这可以通过对旧网站的任何更改来完成吗?

欢迎评论。

【问题讨论】:

    标签: asp.net html legacy-code


    【解决方案1】:

    我想这里的关键问题是,是否可以将一个网站上的表单提交到另一个网站,这可以通过对旧网站的任何更改来完成吗?

    是的,我以前做过 - 前提是目标站点不做任何引荐来源检查。 POST 请求就是 POST 请求,无论它来自何处。

    您只需要确保请求中的所有字段与来自原始页面的字段完全相同,即 - 相同的字段名称、相同的编码等。

    【讨论】:

    • 谢谢:如果无法访问服务器,我如何确认是否完成了引用检查?
    【解决方案2】:

    简短的回答是“是”,长的回答是“视情况而定”。 HTML 和 HTTP 的基础知识允许这样做,但如果不了解旧网站的实现,您无法确定它是否会工作。

    理论上,您只需要确保字段名称相同,并将表单的目标设置为旧站点的页面 URL。

    在实践中,旧网站可能会做各种难以或不可能实现的事情(例如,它可能需要正确设置 cookie 或保持内部状态)。

    最好的办法就是尝试一下。只需模拟基本字段并发布表单以查看其是否有效,应该不会花很长时间。一旦你知道它有效,你就可以担心添加额外的验证等

    【讨论】:

      【解决方案3】:

      请注意,如果现有网站正在对用户进行身份验证,则您需要找到一种方法来收集和传递该信息。但是,否则,菲尔的观点是正确的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-15
        相关资源
        最近更新 更多