WCF,服务地址能被反编译吗?

问题描述

有一个winform桌面应用程序,采用调用WCF服务的方式去访问远程数据库,目的就是防止客户端安装文件被反编译之后,数据库连接字符串暴露。我想问的是,客户端不是需要通过添加服务引用去添加WCF服务的吗,添加的时候是填了服务基址的,那么,这些东西会不会被反编译呢?如果能被反编译,那采用WCF访问数据库比较安全的说法,比不是成为笑柄了。

解决方案

解决方案二:

解决方案三:
不会的,服务的连接字串在服务器配置文件里,引用到客户端的只是个简单的代理,客户代理它本身只是发个执行的命令,真正执行是在服务端完成
解决方案四:
反编译个鬼啊。只要启动一个http调试器,就能把程序连接服务器的消息取下来,而且还可以整理成文档。
解决方案五:
如果你没完没了较真,那么任何东西在你面前好像都是“笑柄”似地。关键是尺度的问题。你把数据库暴露出来让每一个人随便删除数据,跟你暴露出某一个特定对象的删除功能的申请服务(而你的服务才决定到底是否允许删除),这种安全性成程度不一样的。如果一个超市是所有人随便拿东西出去都没有人管,另一个则是正规超市。而你说什么“正规超市不是也可能丢东西吗?那么这个‘正规’是不是成为笑柄了?”,我只能说你这个是属于你基本上偏执到了极点。
解决方案六:
一个实际的业务服务,其服务地址当然是公开的。就好像是超市的大门要公开一样。你要求超市的大门开在你家地下室才安全,这是不现实的。

时间: 2024-10-07 04:14:29

WCF,服务地址能被反编译吗?的相关文章

WCF随客户端软件一起发布,客户端自动识别WCF服务地址,不通过配置文件绑定WCF服务,客户端动态获取版本号

WCF发布到IIS,并有相应的SVC宿主文件客户端软件通过CLICK ONCE发布到WCF的相同目录下本例实现了:客户端自动发现WCF服务的功能 1 不通过配置文件绑定WCF服务 代码 ICallCenter proxy = null; BasicHttpBinding binding = new BasicHttpBinding();EndpointAddress address = new EndpointAddress(AppDeploymentUtils.GetWcfUri());bin

WCF服务中元数据的地址问题

初用WCF的朋友可能会遇到这样的问题,就是在使用svcutil.exe生成proxy和config的时候,或者利用add service reference添加引用的时候,部署的WCF服务到底它的metadata是什么.或者换句话说,svcutil的URL参数,以及添加服务引用时候的那个Address,到底应该填什么. 在这里我用两个最常用的Binding方式,WSHttpBinding和NetTcpBinding,分别以实际的例子来进行说明. 建立服务契约 在这里就从MSDN上抄一个四则运算的

android app反编译

最新在反编译别人的apk,有时候看到别人的app有很炫的效果,就想知道别人是怎么样实现的,顺便自己参考,借鉴一下,下一次如果工作中碰到这个问题就知道怎么实现了.最近恰好放假三天,就研究了一下,一般别人的app都对代码进行了混淆,但是我们还是可以反编译看到代码,只是方法.变量.类名用字母替代了. 我这边用到了两套反编译工具,你们可以结合使用.最后我会提供这些工具的下载地址,以下这些反编译工具的必要条件电脑必须要装jdk. 一:apktool+dex2jar+jd-gui-windows-1.4.0

WCF服务发布的地址中域名能换为ip吗?

问题描述 最近在学WCF,有几个关于地址的问题一直弄不明白.我使用IIS作host,假设服务器地址为10.8.8.8,服务器的主机名为mycoputer,.svc文件的地址在http://localhost/WCF/Service.svc.在服务器本机访问http://localhost/WCF/Service.svc,可以出现帮助页面,提示我用svcutil.exehttp://mycoputer/WCF/Service.svc?wsdl引用服务,这在服务器上没问题,它可以识别自己的域名htt

用VS2008自带模板创建的WCF服务库项目,什么都没改过,编译没问题但启动时出错,请帮帮忙。

问题描述 用VS2008自带模板创建的WCF服务库项目,代码配置全都没改过,编译没问题但启动时出错,请帮帮忙.本人用的是win7+vs2008后台输出如下:"WcfSvcHost.exe"(托管):已加载"C:WindowsassemblyGAC_32mscorlib2.0.0.0__b77a5c561934e089mscorlib.dll""WcfSvcHost.exe"(托管):已加载"E:ProgramFilesMicrosoft

客户端Winfrom程序 app.Config 里边的Wcf服务节点,含有IP地址能否加密

问题描述 各位朋友:这里跟大家请教个问题.本人做了个Winfrom程序,分为客户端和服务端,服务端是Wcf写的,用于验证客户端权限等信息.那么客户端在使用服务端的时候会生成代理类和在客户端app.config里多了服务端wcf配置信息等节点,如:图所示:那么我的问题是,第一.客户端app.config里的wcf节点是否可以加密?我不想让客户端人知道服务端的IP地址是什么?第二.客户端程序是否可以引用DLL,比如我把config文件封装到DLL里,然后客户端在加载DLL?一句话,请问我如何屏蔽客户

WCF服务如何实现其他人通过url地址访问接口得到数据,不论对方是安卓还是php

问题描述 大家好,目前公司给了一个任务,就是用wcf服务做一个接口,然后让别人调用,得到错误日志.这里别人调用的时候,可能是通过android段,也可能是php应用程序,还有可能是其他的.那么再这种情况下,应该怎么弄呢. 解决方案 解决方案二: 嗯,你首先把别人通过c#桌面客户端访问wcf学好.通过什么android.ios.php程序,都基本上一模一样的.你先把基础的.net的范例程序访问wcf的方法会了,再说.解决方案三: wcf实现rest--干嘛不直接用webapi呢?解决方案四: 引用

如何保护Java程序 防止Java反编译

Java是一种跨平台的.解释型语言.Java 源代码编译中间"字节码"存储于class文件中.Class文件是一种字节码形式的中间代码,该字节码中包括了很多源代码的信息,例如变量名.方法名等.因此,Java中间代码的反编译就变得非常容易.目前市场上有许多免费的.商用的反编译软件,都能够生成高质量的反编译后的源代码.所以,对开发人员来说,如何保护Java程序就变成了一个非常重要的挑战.本文首先讨论了保护Java程序的基本方法,然后对代码混淆问题进行深入研究,最后结合一个实际的应用程序,分

WCF 服务应用程序与 服务库之间的区别

简单理解,        WCF服务库,可以认为是一个包含WCF服务以及契约定义的类库.这儿库还不能直接运行,你可以在其他项目里引用,在宿主里启用托管这个库.而WCF应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定义,可以直接看到运行的效果.此项目模板应该是基于IIS托管的程序.        前者一般考虑WCF服务设计的时候,服务类的定义为单独的库,可以为其它项目使用.提高代码的复用性.        后者在开发基于IIS托管的WCF服务程序时,比较多见,自学的时候也可以使