c# - 如何在源代码中隐藏 .asmx web 服务 API 端点?

标签 c# asp.net web-services asp.net-ajax

我在 aspx 页面的脚本标签内调用 .asmx 服务。当我查看页面源代码时,它显示了我的网络服务。

如何保护网络服务不被暴露? 因为当有人查看页面源代码时,他可以看到 Web 服务名称及其所有方法名称。

.aspx 页面:

<asp:PlaceHolder ID="divBody" runat="server">
        <div class="aa-dashboard-wrapper">
            <asp:Textbox id="textbox1" runat="server"></asp:Textbox> 
        </div>
</asp:PlaceHolder>

这是我的脚本标签,它位于我的 aspx 页面的底部。

    $("#textbox1").autocomplete({
                source: function (request, response) {
                    $.ajax({
                        url: '<%=ResolveUrl("~/WebService.asmx/webServiceMethod") %>',
                        data: "{ 'keyword': '" + request.term + "'}",
                        dataType: "json",
                        timeout: 20000,
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        success: function (data) {
                        },
                        error: function (response) {

                        },
                        failure: function (response) {

                        }
                    });
                },
                select: function (e, i) {

                },
                minLength: 2
            })

</script>

最佳答案

虽然您无法阻止用户查看您服务的 URL,但您可以阻止他们查看它的文档 - 只需将其放在 web 的 system.web 标记中.config

<webServices>
    <protocols>
        <remove name="Documentation" />
    </protocols>
</webServices>

参见 https://support.microsoft.com/en-us/kb/815149关于“删除文档协议(protocol)”

关于c# - 如何在源代码中隐藏 .asmx web 服务 API 端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25523416/

相关文章:

c# - 在 WPF 应用程序运行时更改卫星资源程序集

c# - 如何在 Windows 10 通用应用程序上获取配对的蓝牙设备列表

c# - 我应该如何使用 Fluent NHibernate 添加列级 CHARSET?

.net - 将选项 "show password "添加到 asp.net 登录控件

c# - 如何忽略必填字段验证中的第一个索引

javascript - Asp.NET 内联脚本中的空格

web-services - WSDL 中定义的多端口服务

c# - 如何在 ASP.NET MVC 中设置时区?

android - 如何从 Soap Web 服务填充微调器中的所有 json 数组?

c# - HTTP 状态 403 : Forbidden exception using certificate to authenticate ASP. NET Web 服务