首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Coding
V2EX  ›  问与答

PHP 加密要怎么搞?

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

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

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

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

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