cs 架构的程序,数据库连接串都是如何加密的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuangee888
V2EX    数据库

cs 架构的程序,数据库连接串都是如何加密的?

  •  
  •   yuangee888 2022-04-08 20:54:42 +08:00 via Android 2542 次点击
    这是一个创建于 1331 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1 cs 架构,数据库连接串要保存在本地,或者放在 web 上。base64 太弱了。aes 或者 des 也很容易破解吧,因为你要告诉程序如何解密吧。rsa 类似,密钥要写在程序里。如何防止数据库访问用户名密码被破解?

    20 条回复    2022-04-10 02:02:57 +08:00
    ysc3839
        1
    ysc3839  
       2022-04-08 21:02:14 +08:00 via Android
    “数据库连接串”是什么?为什么要保存在本地?
    aver4vex
        2
    aver4vex  
       2022-04-08 21:05:28 +08:00
    本地存数据库链接?
    yuangee888
        3
    yuangee888  
    OP
       2022-04-08 21:13:16 +08:00 via Android
    就是客户端+数据库的程序
    gam2046
        4
    gam2046  
       2022-04-08 21:53:22 +08:00
    一般客户端不直连数据库。如果非要直连,数据库上设权限,不允许直接对表进行 select ,建视图,只给予用户查询视图的权限,在视图中隔离数据,把不允许此用户读取的记录过滤掉。
    codehz
        5
    codehz  
       2022-04-08 21:59:58 +08:00 via Android
    你这安全模型就没搞清楚
    Server 是用户控制的吗,不是的话直接存 server 上就好了,你总不会让 client 直接连接数据库吧。。。
    zhuangzhuang1988
        6
    zhuangzhuang1988  
       2022-04-08 22:03:08 +08:00
    服务器暴露需要的接口
    deplivesb
        7
    deplivesb  
       2022-04-08 22:05:32 +08:00
    cs 的程序你需要 c 端跨过 s 端直接连接数据库????????
    renmu123
        8
    renmu123  
       2022-04-08 22:23:38 +08:00 via Android
    放后端服务器
    akin
        9
    akin  
       2022-04-08 22:41:25 +08:00
    cs 端 desktop Application 直连数据库一般都用低权限的 DB user ,只读权限。如果需要写入,早期的做法是通过存储过程传入参数。
    后续的 desktop Application ,已经很少直接连接数据库,都是透过 API gateway 或者 ESB 这样的东西操作,那就更无需处理连接字符串。
    楼主你在用 power Builder 么?
    crab
        10
    crab  
       2022-04-09 05:49:46 +08:00
    通过存储过程,但建议弄个 web 的 api 形式来操作吧。
    xuanbg
        11
    xuanbg  
       2022-04-09 06:20:44 +08:00
    @codehz 他这个模式早年很多的,说是 C/S ,但根本没有服务端,客户端直连服务器上的数据库数据库的。他这个 Server 不是服务端,是服务器啦。
    antipro
        12
    antipro  
       2022-04-09 07:55:55 +08:00 via Android
    @codehz 他就是要这么做。
    SenLief
        13
    SenLief  
       2022-04-09 07:59:05 +08:00
    估计算不上什么 cs 架构,可能服务器只有一个数据库。
    sadfQED2
        14
    sadfQED2  
       2022-04-09 08:07:20 +08:00 via Android
    数据库连接串存数据库里面,客户端第一次用只读账号来查自己的连接串,查到连接串以后再重建数据库
    sadfQED2
        15
    sadfQED2  
       2022-04-09 08:08:16 +08:00 via Android
    @sadfQED2 重建=>重连
    unclemcz
        16
    unclemcz  
       2022-04-09 08:30:50 +08:00 via Android
    这种历史悠久的程序直连数据库的话,可以硬编码到 dll 。
    yuangee888
        17
    yuangee888  
    OP
       2022-04-09 11:05:48 +08:00 via Android
    server 端只有一个数据库,客户端直接连接。
    程序是 c#的
    yuangee888
        18
    yuangee888  
    OP
       2022-04-09 11:07:14 +08:00 via Android
    pb 类似的,客户端直连数据库
    liuhan907
        19
    liuhan907  
       2022-04-09 12:51:47 +08:00
    @yuangee888
    这种基本不加密,因为加密也没啥用。不管你怎么混淆最终这类东西还是要连接远程数据库然后抓个包就啥都有了。这种古董程序连接也基本不会有 mTLS 保护,所以别考虑这么多,随便用个 AES 然后把密钥丢 C 里用 PInvoke 一下就行了。防君子不防小人。
    msg7086
        20
    msg7086  
       2022-04-10 02:02:57 +08:00 via Android
    你这种架构,没法防止。一开始就要把系统做成假设客户可以拿到数据库账号密码。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1065 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 18:04 PVG 02:04 LAX 10:04 JFK 13:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86