PHP 加密要怎么搞? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
t2doo
V2EX    问与答

PHP 加密要怎么搞?

  •  
  • /div>   t2doo 2017-03-07 17:04:21 +08:00 5666 次点击
    这是一个创建于 3193 天前的主题,其中的信息可能已经有所发展或是发生改变。
    手头有个项目,对方出服务器,我的代码这下就彻底暴露了,想问下 PHP 加密什么方案好,让他们看到代码还得解密,麻烦老司机来指导一下,万分感谢!
    33 条回复    2021-12-09 11:53:07 +08:00
    isCyan
        1
    isCyan  
       2017-03-07 17:36:59 +08:00 via Android
    不会百度不会谷歌吗,现在 V 站帖子质量低到不行。
    popu111
        2
    popu111  
       2017-03-07 17:40:00 +08:00
    @isCyan 严重同意系列

    以及回复楼主:没救, PHP 常见加密在淘宝十块以内都能解决,而且你还完全在人家手上跑。。。
    helloccav
        3
    helloccav  
       2017-03-07 17:41:15 +08:00 via Android
    最简单的方法把函数名和变量,改成,没有意义的字符,增加别人修改的难度
    helloccav
        4
    helloccav  
       2017-03-07 17:42:33 +08:00 via Android
    @isCyan
    @popu111
    我觉得这个不能怪楼主,你们说搜索一下,但是现在现在网络上能搜索到的答案,加密都是不完美的,就像你们自己回答那样,很容易破解。所以来这里就是想问一下,有没有更加安全的加密方式。
    R18
        5
    R18  
       2017-03-07 17:43:57 +08:00 via Android
    一个项目只用一个 php 文件,搜索 a 可以出来几万匹配项
    explon
        6
    explon  
       2017-03-07 17:46:01 +08:00
    楼主估计以为大家写完代码都是要加密给别人用的
    saharabear
        7
    saharabear  
       2017-03-07 17:52:10 +08:00
    不熟悉私有 PHP 领域,见过两处方案:

    A :额外依赖,要想跑起 PHP ,需要加载一个.so 文件,这个文件是私有的,使用 C 语言编写,不知道具体是什么东西。没有这个东西,整个项目跑不起来,一部分业务与安全验证应该都在这个.so 里面。
    B :转译,最终形成了几个很难读懂的 PHP 文件,源代码依然是 PHP ,但是用了一个 shell 进行了这种转译,把 N 个 PHP 文件,压缩进几个无法读懂的 PHP 文件内,变量名全部转译成复杂的指令。

    以上两个项目都是别人的私有项目,我只是看到别人这么用过,具体原理及方案可行性,我没有太关注。
    HanSonJ
        8
    HanSonJ  
       2017-03-07 17:59:28 +08:00
    也许你要换个语言。
    t2doo
        9
    t2doo  
    OP
       2017-03-07 18:10:16 +08:00 via iPhone
    第一次考虑到加密,其实代码没啥东西,我就是有个数据库连接不想给人看到 Host 地址,回家仔细研究一下,感谢回复
    torbrowserbridge
        10
    torbrowserbridge  
       2017-03-07 18:11:29 +08:00
    试试 Zend Guard
    xiaoyaoking
        11
    xiaoyaoking  
       2017-03-07 18:13:16 +08:00
    自己写扩展,核心代码用 c++ ,我个人是偷懒, 直接把 PHP 代码加密 然后 挂到扩展,最后拦截 PHP 文件名 解密 执行。。。
    torbrowserbridge
        12
    torbrowserbridge  
       2017-03-07 18:18:00 +08:00 via iPhone
    giuem
        13
    giuem  
       2017-03-07 18:20:05 +08:00 via iPhone
    docker
    rogerchen
        14
    rogerchen  
       2017-03-07 18:22:04 +08:00
    @torbrowserbridge 开眼界了。
    @t2doo 字符串是不能加密的。。。这是常识,可以考虑用混淆的方案,让人看到一堆乱码就没心情了。
    em70
        15
    em70  
       2017-03-07 18:22:50 +08:00 via Android
    不要对方服务器,把你的服务做成接口,按次收费或者包月。如果客户不买账,说明你的代码没那么高的价值,也不用纠结加密了
    torbrowserbridge
        16
    torbrowserbridge  
       2017-03-07 19:16:22 +08:00 via iPhone
    @giuem docker 怎么搞?不给别人 image 么?给了还是能访问啊
    Felldeadbird
        17
    Felldeadbird  
       2017-03-07 19:51:40 +08:00 via iPhone
    直接买现成的加密库
    fyibmsd
        18
    fyibmsd  
       2017-03-07 20:05:33 +08:00
    zephir ,把核心部分加密就行
    47jm9ozp
        19
    47jm9ozp  
       2017-03-07 20:10:11 +08:00
    封装成虚拟机镜像,磁盘加密,只暴露 80 端口
    shiji
        20
    shiji  
       2017-03-07 20:11:10 +08:00
    那核心用 Java 或者 C++之类的写,最外面套一层 php 。 php 收到请求过滤参数,然后传递参数通过 shell_exe 给你编译好的的 java 或者 C++程序
    giuem
        21
    giuem  
       2017-03-07 20:49:23 +08:00
    @torbrowserbridge 好吧,我忘了还能进容器看代码
    torbrowserbridge
        22
    torbrowserbridge  
       2017-03-07 22:01:16 +08:00 via iPhone
    @ooxxcc 真心不错的方案
    eecjimmy
        23
    eecjimmy  
       2017-03-07 22:07:11 +08:00 via iPhone
    加个扩展
    Citrus
        24
    Citrus  
       2017-03-07 23:10:55 +08:00 via iPhone
    @xiaoyaoking 你这样只要改一点点在解密之后把解密内容输出,就全破解了。。。建议不要这么偷懒。。。
    cxbig
        25
    cxbig  
       2017-03-08 00:29:24 +08:00
    不大现实, PHP 本就是挣快钱的,靠量取胜,想指着一个解决方案吃到底可能性不大
    如果对方不是那么的专业,做成 so 或者 phar 文件好了
    esile
        26
    esile  
       2017-03-08 04:09:09 +08:00 via iPhone
    混淆一下别人基本就懒得改了
    t2doo
        27
    t2doo  
    OP
       2017-03-08 06:19:36 +08:00   1
    https://github.com/del-xiong/screw-plus

    目前用的这个,主要是不想给人看到数据库地址
    kokutou
        28
    kokutou  
       2017-03-08 07:21:47 +08:00 via Android
    混淆。。
    yanw
        29
    yanw  
       2017-03-08 08:53:03 +08:00 via iPhone
    代码有多烂写多烂,烂到自己都不想维护
    thundernet8
        30
    thundernet8  
       2017-03-08 11:04:20 +08:00
    自从我上一个 wordpress 主题被破解搞得没收入,破解人还嚣张的在破解版本植入辱骂我的文字,我现在新主题改成动态 so 扩展加密了, https://webapproach.net/tint-authorization.html
    Geniusssssss
        31
    Geniusssssss  
       2017-03-08 11:40:57 +08:00
    还是建议开源精神 简单加密上面的诸位都阐述过了 复杂加密就动态获取 key 吧 将 php 代码写入.pak 然后加密 然后取 md5 传输服务器 服务器返回 key 使用 key 解密执行新加密写入然后再执行 php 内容
    当然 这只是增加解密难度 并不会导致不被破解 其实并不存在什么不能被破解的东西 只是看破解人的耐心与技术 记得那个正真用到的 pak 文件也要使用混合加密让它的变量参数什么的看着都是 OO000Oo 这样的
    ningcool
        32
    ningcool  
       2017-03-08 17:35:04 +08:00
    建议隐私逻辑写到自己的服务器,客户端的向你的服务器接口获取 你的“核心逻辑运算的结果”。
    skyworker
        33
    skyworker  
       2021-12-09 11:53:07 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     930 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 21:45 PVG 05:45 LAX 13:45 JFK 16:45
    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