用什么工具代替WINFORM 项目 SQL SERVER 端口外网映射

zhengyingcan 2019-02-01 03:16:08
公司又增开了子公司,以前的WINFORM项目,目前的做法是把SQL SERVER 端口 1433 通过路由器外网映射,效率还可以,但是同行说这样子安全性太低,用什么办法可以代替 1433端口转发呢, 并且代码改动又少呢,谢谢。
...全文
3453 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
jwh2004 2019-02-19
  • 打赏
  • 举报
回复
先学WCF吧 把软件登录那块先改改。防高级黑客你就不要考虑了 对你来说太难了。数据库的默认端口最好改改,若对应版本的数据库有补丁包的话,最好安装上最新的。建议以后有时间 你可以学学asp.net mvc (web api)做个服务端的程序,客户端用http发post 或get数据给服务端来进行通讯,这样客户端就不直接读写数据库了。
sxty0220 2019-02-13
  • 打赏
  • 举报
回复
通过webservice 进行调用,或者如前面所说的,
> 设置 超级复杂的 数据库密码
> SQLServer 启动证书加密通讯 (印象中是支持的,但我没用过,黑客想要入侵得先有证书)
> 设置防火墙,禁止PING服务器(大部分黑客对无法Ping通 的服务器 没多少兴趣)
> 设置防火墙IP白名单
zhengyingcan 2019-02-13
  • 打赏
  • 举报
回复
引用 33 楼 以专业开发人员为伍 的回复:
好比如说腾讯公共平台或者阿里巴巴公共平台,发布了一套 http 的 api,你觉得他们会说专门为 .net 或者 java 编程而发布什么规范吗?

所以不要学什么 WCF,把最基本的 http 一般处理过程、把 http 协议基础学好吧。并且你设计发布自己的服务协议肯定也要基于基础!

我就是担心把HTTP协议学好,也无法处理这个SQL SERVER 外网访问的问题, WCF 基于IIS,IIS我比较熟,我也是没办法,不知道学那一块了。 除了WCF ,大神有没有其它的 工具可以推荐的呢
zhengyingcan 2019-02-13
  • 打赏
  • 举报
回复
引用 36 楼 sxty0220 的回复:
通过webservice 进行调用,或者如前面所说的,
> 设置 超级复杂的 数据库密码
> SQLServer 启动证书加密通讯 (印象中是支持的,但我没用过,黑客想要入侵得先有证书)
> 设置防火墙,禁止PING服务器(大部分黑客对无法Ping通 的服务器 没多少兴趣)
> 设置防火墙IP白名单

那还是学WCF吧
吹风的兔子 2019-02-11
  • 打赏
  • 举报
回复
这种项目我还真见过,2014年。 数据库连接字符串 都是 加密后写在 配置文件中的 这种程序,想从直连数据库改成 WCF、WebAPI 连接,改动量特别大 —— 这条路想都不要想。 认命吧,要么大改程序,要么 老老实实的: > 设置 超级复杂的 数据库密码 > SQLServer 启动证书加密通讯 (印象中是支持的,但我没用过,黑客想要入侵得先有证书) > 设置防火墙,禁止PING服务器(大部分黑客对无法Ping通 的服务器 没多少兴趣) > 设置防火墙IP白名单
  • 打赏
  • 举报
回复
好比如说腾讯公共平台或者阿里巴巴公共平台,发布了一套 http 的 api,你觉得他们会说专门为 .net 或者 java 编程而发布什么规范吗? 所以不要学什么 WCF,把最基本的 http 一般处理过程、把 http 协议基础学好吧。并且你设计发布自己的服务协议肯定也要基于基础!
  • 打赏
  • 举报
回复
引用 17 楼 zhengyingcan 的回复:
是的呀,这方面确认差距很大,是不是学好WCF就可以 解决了呢
WCF 在差不多 20~10 年前,是 .net 入门书上大力推广的一种 webservice/WCF http 服务编程方法。不过这么繁琐沉重低效率的东西,主要是为了过去的几个大公司想垄断服务发现/注册机制用的。但是至少在15年前开始,世界上流行了轻量级的去 RPC 的 http 服务。而现在更是连 html5 标准中都支持了 websocket 通讯协议。 WCF 可以说是一种入门,例如你说学小学生算术是不是算是学数学?一样的。WCF 是初学者入门书上的一种编程范例,但是可以不学。最起码地应该把 http 一般处理程序学会,把基于 tcp/websocket 的基础学会。
张天星 2019-02-03
  • 打赏
  • 举报
回复
子公司的话,应该是可以固定公网IP的,和电信申请,白名单设置,只有这个IP才能访问,那么就安全了。
额。你说的winform项目,只有公司内部访问吧?
Arzhuo 2019-02-03
  • 打赏
  • 举报
回复
找电信搞个公网IP
zhengyingcan 2019-02-02
  • 打赏
  • 举报
回复
百 度了一下,网上评论是WCF比较好
zhengyingcan 2019-02-02
  • 打赏
  • 举报
回复
是学webservice还是WCF呢,不知道如何选择了
吉普赛的歌 2019-02-01
  • 打赏
  • 举报
回复
想安全其实只有两种途径: 1. 开放端口, 但设置白名单 ; 2. 不开放端口, 使用 webapi, webservice ( WCF 其实也是一样, 搞那么复杂没必要 ), 只开放必要的功能, 还可以加上登录验证限制。 但方法1, 你们的客户ip 不固定, 所以否决。 只有方法2适合。不过, 方法2, 想不改代码是不可能的了, 改动可能还很多。 为了安全, 总得牺牲一些东西。
zhengyingcan 2019-02-01
  • 打赏
  • 举报
回复
引用 16 楼 以专业开发人员为伍 的回复:
说白了,简单问你一句“你怎么设计服务器系统?”,你会回答吗?

懵了?说不出来任何话了?根本没有设计任何服务器代码?!

是的呀,这方面确认差距很大,是不是学好WCF就可以 解决了呢
  • 打赏
  • 举报
回复
说白了,简单问你一句“你怎么设计服务器系统?”,你会回答吗? 懵了?说不出来任何话了?根本没有设计任何服务器代码?!
  • 打赏
  • 举报
回复
以纯粹地 c/s 系统来设计,你的业务服务器系统是自定义的,你掌握了系统主动权,例如你起码在自己的服务器端处理客户端登录认证、业务功能访问权限相关事宜。这是真正的 c/s 开发,也就是说你知道你不但要开发 c 端嗲吗,而且要开发 s 端代码。 使用关系数据库的驱动来访问数据库,这样的人通常不懂什么叫做 s 端。实际上说这种程序是 c/s 程序其实是错误的。这其实只有 c 编程知识而没有 s 设计基本知识,是刚入门学编程的人学的那一点数据库增删改查基本功能而已,根本不懂 c/s 系统设计。
xuzuning 2019-02-01
  • 打赏
  • 举报
回复
C/S 或 B/S
  • 打赏
  • 举报
回复
路由只要不重启,ip就不变的
  • 打赏
  • 举报
回复
创建webapi或者webservice来给winform调用呀,然后外网映射接口的端口
  • 打赏
  • 举报
回复
跟什么“代替端口转发”没有直接关系。这种方式本身就不用考虑。 一个国家根本没有城墙,它非要立一个毫不费力地把戏让别国以为自己有城墙,这其实是骗自己的。
  • 打赏
  • 举报
回复
引用 8 楼 zhengyingcan 的回复:
没有弄行为记录,很多也是共用帐号和密码
所以,数据库端口根本不能对外。
加载更多回复(9)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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