V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
shijingshijing
V2EX  ›  程序员

如果重构一个 web 项目,不考虑性能,只考虑安全,开发速度要快,哪种语言的哪种框架比较合适?

  •  
  •   shijingshijing · 2018-01-08 19:07:37 +08:00 · 15069 次点击
    这是一个创建于 2546 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的,美帝客户有一个零部件管理系统,用的是上古的 ASP 开发的(是那种 asp 标签和 html 混合编写的,不是现在的 ASP.Net ),因为一直是内网用,跑在 windows 2003 server 上,也没出什么毛病,就没有重新开发。

    现在的问题是,整个公司的业务流程发生了变化,为了提高效率,他们想在国内、泰国、德国建立多个小型仓库,每个仓库要能够访问,而且还要开放给供应商使用,因此决定放到 web 上。

    我看了一下业务逻辑,基本上都是 CRUD,没什么复杂的东西,重构应该不复杂。但是数据包含了供应商的报价信息等敏感内容,不能够对外公布,因此特别强调安全性。

    目前还没有定实施方案,还在让我做咨询,我需要给他们提供多套方案进行比较,proposal 里面需要一些比较有力的证据或者数据来支持,本人 web 这一块写写业务没问题,谈不上精通,目前写过 PHP ( CodeIgniter,ThinkPHP ),Python(Django),.Net MVC。

    另:他们有一些倾向:
    1,尽量使用 LAMP 这种开源的方案,微软的方案应该是不会考虑了,不然也不会一直用这个 win 2003 server。
    2,他们也不倾向于用 Java,倾向于用 PHP 或者 Python (可能也有我的影响的因素吧),后续有一些自己的设备比如扫码枪、仓库摄像头产生的数据会接入到这个系统。
    3,他们不会一次性全部转移到这个新的平台上来,可能会逐步的拿某个国家的一两个小仓库做试点,如果效果不错,再逐步部署迁移。
    4,他们反复强调了安全这一块,报价和供应商的信息是绝对不可以泄漏出去的,关系他们的饭碗。

    希望各位 web 大佬能畅所欲言。如果后续有办法接过来,可能也会请大佬们来一起分包。

    第 1 条附言  ·  2018-01-09 18:50:44 +08:00
    谢谢各位大佬分析,看完获益匪浅,同时也有点瑟瑟发抖。。。

    这样吧,再具体明确一下:

    1,环境就是在 Debian 的 vps 上跑了,要么 LAMP 全家桶,要么 Python 的各种轮子组合。
    2,框架要开箱即用的,不需要折腾太多。说白了吧,主要是不需要我太多维护,框架拿来就用,稍微配置一下最好是不要配置。最好是无脑配好了直接上来撸 CRUD 业务代码。
    Django 自带 Admin 后台这种最好,PHP 的框架太多,选择困难,高档货 Laravel 这种本身比较重,还需要花点时间理解框架本身的,感觉不太合适。(哎,说到这里感觉不如找个 CMS 搞二次开发了。。。)
    3,一般需要注意的比如跨站防注入肯定要做到位,https 肯定要上,其他的比如防 D 这种感觉还是交给卖鸡的老板吧,大不了花点钱找个好点的鸡场,有问题交 ticket。一般也不会盯着这种小业务量的站点猛 D 吧。。高安全要多花钱这是肯定的,一分钱一分货都懂,但是毕竟比不上大厂,我自己也不是搞 security 的,老板们预算也有限,尽可能吧。
    4,维护这一块,我想最好是弄个脚本,反正定期无脑更新,有更新就上,不管是操作系统还是框架还是用到的第三方的轮子什么的,勤备份,升挂了大不了回滚。

    感觉选来选去可能最后还是 Django 了。。。
    116 条回复    2018-01-16 22:43:27 +08:00
    1  2  
    wujunze
        1
    wujunze  
       2018-01-08 19:14:08 +08:00   ❤️ 4
    PHP + Laravel
    leisurelylicht
        2
    leisurelylicht  
       2018-01-08 19:17:44 +08:00   ❤️ 2
    Python,个人感觉在安全性上会比 PHP 好一点。

    与语言无关,与人有关

    1. 研究 PHP 漏洞的人比较多,Python 较少。

    2. PHP 在 Web 开发上比 Python 自由度高一点,所以程序员出错的机会也多一点

    个人观点,欢迎讨论
    haozibi
        3
    haozibi  
       2018-01-08 19:20:53 +08:00 via Android   ❤️ 1
    php
    bobuick
        4
    bobuick  
       2018-01-08 19:21:17 +08:00   ❤️ 2
    java spring,找个脚手架。基本上 CRUD 类的操作,都是根据 db 表生成出来的代码,业务逻辑写一点就可以了。前端工作量都差不多,根用哪个后端语言差别不大
    loginv2
        5
    loginv2  
       2018-01-08 19:25:25 +08:00 via Android   ❤️ 1
    yii 用 gii 直接生成代码,在这个基础上改,既然是内网的项目,做好权限控制,访问双向认证,避免无必要的外部接触就可以。语言什么的其实都差不多,关键还是安全意识
    Kilerd
        6
    Kilerd  
       2018-01-08 19:27:05 +08:00   ❤️ 1
    postgresql + python 自动生成 CURL 的框架。美滋滋
    linuxchild
        7
    linuxchild  
       2018-01-08 19:28:06 +08:00   ❤️ 1
    Django 呀~
    loading
        8
    loading  
       2018-01-08 19:29:25 +08:00 via Android
    然后这个软件跑在 windows 2000
    shijingshijing
        9
    shijingshijing  
    OP
       2018-01-08 19:29:47 +08:00
    @bobuick
    @leisurelylicht
    @wujunze
    @haozibi

    谢谢各位,Java 应该是不会考虑的,一是他们没人会 Java,不懂就不好评论;第二个是他们可能后续还会自己做二次开发,他们主要是一群写 C 的,然后有几个会 Python,那些个写 C 的对 PHP 具有天生的亲近感,Python 他们也用来写测试脚本,也还行。业务 CRUD 这一块,可能会拉他们的人来帮忙减轻点工作量。

    多用户登录是不是直接用 OAuth 就够了?还需要其他注意的地方么?

    最后,希望大佬们解答的时候不要只说语言和框架,多讲讲能够说服人的论点,最好有案例什么的。
    shijingshijing
        10
    shijingshijing  
    OP
       2018-01-08 19:31:50 +08:00
    @loginv2 会挂到网上的,试运营的时候估计是买个 vps 然后部署上去,然后让几个国外的仓库登录了试试。
    shijingshijing
        11
    shijingshijing  
    OP
       2018-01-08 19:33:36 +08:00
    @loading

    倒不会跑在 windows 2000 上,不过按照他们的做法,应该是这次改版了就用这个版本用到死的。。。
    SlipStupig
        12
    SlipStupig  
       2018-01-08 19:34:31 +08:00
    @leisurelylicht python 和 php 一样是动态语言,该有的漏洞一个都不少,自由度来说 python 一点也不低

    如果考虑安全性还有开发效率兼顾的话,推荐用 golang,理由如下:
    1.golang 是强类型语言,对于一些低级逻辑漏洞可以进行简单过滤
    2.有相对成熟的框架,比如:beego 等,开发难度不高,性能强劲,而且本身框架有一定的安全措施
    3.上线时间短,编译速度&部署生产环境容易

    BTW:及时你使用了 golang 依然也不能保证安全问题,因为安全是一个防护体系而不是一门语言能解决的
    defunct9
        13
    defunct9  
       2018-01-08 19:34:47 +08:00 via iPhone
    rails、django、meteor,前端 nginx,后面 mysql
    kikyous
        14
    kikyous  
       2018-01-08 19:35:17 +08:00 via Android   ❤️ 1
    rails
    defunct9
        15
    defunct9  
       2018-01-08 19:36:25 +08:00 via iPhone   ❤️ 1
    安全是个体系,建议用 pci 的安全标准来要求就可以了
    carlclone
        16
    carlclone  
       2018-01-08 19:37:47 +08:00 via iPhone   ❤️ 3
    @leisurelylicht 你的逻辑挺奇怪的,研究的人多所以漏洞多,笑出声
    WuwuGin
        17
    WuwuGin  
       2018-01-08 19:38:27 +08:00 via Android   ❤️ 2
    安全问题基本上都是自己的问题,所以一个好的框架可以帮你规避很多风险,拿 PHP 的 yii2 来说,防跨站攻击,SQL 注入都做得很好了,只要你按照他的安全规范来开发。这就是框架的好处。
    jtsai
        18
    jtsai  
       2018-01-08 19:40:32 +08:00   ❤️ 1
    egg.js
    carlclone
        19
    carlclone  
       2018-01-08 19:42:44 +08:00 via iPhone
    @leisurelylicht 看错了哈哈,抱歉糗大了
    timothyye
        20
    timothyye  
       2018-01-08 19:45:00 +08:00 via Android   ❤️ 1
    django
    lifeintools
        21
    lifeintools  
       2018-01-08 20:25:40 +08:00 via iPhone   ❤️ 1
    Ci
    GreatMartial
        22
    GreatMartial  
       2018-01-08 20:28:27 +08:00 via Android
    大佬,你只写 Web 应用吗?
    如果需要下层硬件的接入方案,可以找我😄
    Torpedo
        23
    Torpedo  
       2018-01-08 21:05:20 +08:00   ❤️ 1
    这不是看自己熟练使用哪个么。。。
    mx1700
        24
    mx1700  
       2018-01-08 21:17:45 +08:00 via Android   ❤️ 1
    php laravel
    zn
        25
    zn  
       2018-01-08 21:22:08 +08:00   ❤️ 1
    难道不是最好的语言 PHP ?
    Laraval、Symfony 都可以试试。
    MonoLogueChi
        26
    MonoLogueChi  
       2018-01-08 21:23:12 +08:00 via Android   ❤️ 1
    要安全的话就应该用你们最熟练的,用一个不熟悉的语言开发出来的东西,漏洞肯定比你们熟悉的多。个人感觉 php 不如 jsp 安全,只是个人感觉。
    cevincheung
        27
    cevincheung  
       2018-01-08 21:27:16 +08:00   ❤️ 1
    数据库 pgsql,pgsql,pgsql 说三遍
    数据库独服,独服,独服说三遍
    php&python 任选。只要不是语言自身底层的 bug 通常来说没问题的。所谓泄露大都是逻辑漏洞而非程序级漏洞。

    php 推荐 Yii Or Laravel。Laravel 使用一段时间对开发人员并不是特别友好。其 Event、Queue 灵活性不高整个 queue 是直接扔的序列化对象。不能和 celery 等类似的进行友好整合。
    如果不怕学习成本的话,严重推荐 Symfony !!
    Simcyber
        28
    Simcyber  
       2018-01-08 21:31:29 +08:00
    php 是世界上最好语言
    cobola
        29
    cobola  
       2018-01-08 21:37:48 +08:00
    python 就很好!
    ioriwong
        30
    ioriwong  
       2018-01-08 21:43:25 +08:00 via iPhone   ❤️ 1
    纯讲安全性,觉得.NET 更高,但被你排除了
    Nitromethane
        31
    Nitromethane  
       2018-01-08 21:57:17 +08:00
    难道不是团队对什么有积淀什么,什么就最快么?
    gemini
        32
    gemini  
       2018-01-08 22:02:46 +08:00
    按照团队的背景来吧,其实你们已经选好了 python
    jyf
        33
    jyf  
       2018-01-08 22:04:17 +08:00   ❤️ 1
    虽然我喜欢 python 但是既然你提到了快 建议考虑 node.js
    helloworld12
        34
    helloworld12  
       2018-01-08 22:04:57 +08:00
    django
    robertlyc
        35
    robertlyc  
       2018-01-08 22:46:02 +08:00   ❤️ 1
    ruby/rails
    leisurelylicht
        36
    leisurelylicht  
       2018-01-08 23:07:13 +08:00   ❤️ 3
    @carlclone
    @SlipStupig
    @shijingshijing

    是,语言其实是相似的,但是研究一门语言漏洞的人越多,发现的漏洞就越多,传播的也就越广泛。

    拿我自己来说,我也是个脚本小子,第一份工作就是专门做 web 漏洞扫描的。

    我遇到的 php 网站漏洞和讲 php 网站漏洞的文章,工具都远多于 python,

    我手里的 php 漏洞利用脚本也远多于 python。

    也因此我对我拿到一个 php 的网站不管怎么样我都有一堆工具可以先试一试,而 python 不是不行,但是相对来说工具和思路都会少很多。

    市面上讲渗透的书基本都是以 php 或者 java 做靶机的。python 很少,为什么,因为会渗透 python 的人少。

    所以我说与语言无关,与人有关。语言都是图灵相等,谁能比谁差到哪去呢。

    python 毕竟在 web 领域火起来的时间没有 php 久,相关的安全研究积累,没有那么多。

    我说 python 自由度低是因为 python 做网站多半是 python + django,很多东西框架就给你搞好了。

    当然可以不用,但是那样就很麻烦了,真要只用 python 从头写个网站,说实话我是搞不来的。

    而 php 一不高兴什么框架都可以不用,只有 php,其他全部从零,orm 什么的都能省,比不用框架还简单。这样给人的发挥空间就过大了。

    尤其还有一群写 C 的队友,玩 C 的人最爱自己造轮子,但造出来基本都是坑。
    ebony0319
        37
    ebony0319  
       2018-01-08 23:13:56 +08:00 via Android   ❤️ 1
    数据库应该是 sqlServer 吧,应该很多事物逻辑在存储过程里面。小心地雷。
    micean
        38
    micean  
       2018-01-09 00:11:33 +08:00   ❤️ 1
    我觉得你心里应该有答案了,就是 php
    安全跟语言没啥关系,漏洞多是框架上的吧
    shijingshijing
        39
    shijingshijing  
    OP
       2018-01-09 00:15:54 +08:00
    谢谢楼上的大佬们,首先估计比较重的几个框架会被排除,ROR 他们都不会,Laravel 个人感觉无异于是重新发明了一门语言,多少都需要一点学习成本的,我自己估计也要看几天才能上手,说不定有什么坑也不知道。

    其次非常感谢 @defunct9 @WuwuGin @leisurelylicht 三位大佬帮我重新定义了安全,这是一个体系而不是做到一两条比如防注入防跨站就能解决的,要注意的地方很多,我可能把这一块看得简单了一点。

    最后感谢 @ebony0319 和 @cevincheung 两位大佬提醒数据库方面的坑,他们没有特别的存储过程,这个确实当时有很多人喜欢把业务逻辑做到数据库里用存储过程实现,不过他这个应该是太简单了以至于忘记了挖这个坑。数据库还是用 MySQL 吧,基本上我搞过的几个项目都是 MySQL,对这块熟悉一点,而且配合 PHPMyAdmin 维护起来也简单一点。

    我估计最后还是无脑选 Django,开箱即用,python 入门也简单,就不知道里面的各个内置模块有没有什么特别的坑了。再次感谢各位大佬的热情回复和支持。
    sfree2005
        40
    sfree2005  
       2018-01-09 03:00:55 +08:00 via Android   ❤️ 2
    用了流行的框架,语言本身造成的安全问题只是相对来说应该是小部分,我觉得更多的是服务器上的各种安全防范配置,防火墙规则,访问限制,备份安全,运维之类,还有各种技术管理的流程规范,例如什么人可以知道服务器各种密码,此人离职的话,公司应该做什么。
    markyangd
        41
    markyangd  
       2018-01-09 03:14:47 +08:00 via iPhone   ❤️ 1
    DevExpress XAF 开发速度会让你大吃一惊。
    强烈推荐。
    markyangd
        42
    markyangd  
       2018-01-09 03:17:15 +08:00 via iPhone
    如果不考虑 ms,odoo 也是一个好选择,只有 odoo 框架,不用它的 addon。
    qq976739120
        43
    qq976739120  
       2018-01-09 09:19:05 +08:00   ❤️ 1
    DJANGO 啊,处理你这样的需求简直最适合了
    bramblex
        44
    bramblex  
       2018-01-09 09:26:14 +08:00
    写 c 的对 php 有天然亲近感……
    难道我们写 c 艹 的对 php 有天然的排斥感嘛?
    Felldeadbird
        45
    Felldeadbird  
       2018-01-09 09:27:37 +08:00   ❤️ 1
    安全这个你是无法保证的。写代码的人不知道自己代码有什么问题。
    因此,用什么语言不是关键。关键是公司有没有钱去买安全。
    如果我熟练 PY,肯定 PY 最快。反之用自己最最最最熟练的语言开发,绝对是最快的(不考虑后人维护)。
    madmen
        46
    madmen  
       2018-01-09 09:28:58 +08:00
    那当然是 ruby/rails
    allgy
        47
    allgy  
       2018-01-09 09:29:35 +08:00
    ruby on rails
    cncqw
        48
    cncqw  
       2018-01-09 09:40:33 +08:00
    当然是 php 了,找个后台页面框架,然后和 html 混写……
    OmO
        49
    OmO  
       2018-01-09 09:55:27 +08:00
    约定大于配置,这需求妥妥的 Rails,没跑了。
    neoblackcap
        50
    neoblackcap  
       2018-01-09 09:59:21 +08:00
    大型的框架比如 Django,Spring 之类的安全修复都很多的,漏洞比较少。不过安全嘛,这个跟你们投入有多大相关。框架的安全性基本是差不多的。毕竟现在你能说出来的框架,爆 0day 的都很少了。
    RubyJack
        51
    RubyJack  
       2018-01-09 10:08:56 +08:00
    rails!!!!!!!
    willchen
        52
    willchen  
       2018-01-09 10:10:52 +08:00
    写 c 的话 上手 go 很方便
    TangMonk
        53
    TangMonk  
       2018-01-09 10:11:53 +08:00 via Android
    rails 或者 symfony, asp.net 也不错
    hienchu
        54
    hienchu  
       2018-01-09 10:12:52 +08:00   ❤️ 1
    歪个楼,纯个人看法
    “不考虑性能,只看安全性”这个假设,从 lz 的描述来看可能有待商榷。个人觉得, 并不能仅仅因为系统有了敏感数据,安全性就要以比任何方面重要。根据我的一些经验,企业内部系统的安全性往往来自于系统的管理流程,而不是系统本身的漏洞。
    ohoh
        55
    ohoh  
       2018-01-09 10:13:49 +08:00
    安全只是个托词,就比如到时候出什么问题了,都可以说是安全问题。
    killerv
        56
    killerv  
       2018-01-09 10:30:21 +08:00
    个人感觉开发速度上没有比 PHP 更快的了
    chztv
        57
    chztv  
       2018-01-09 10:34:53 +08:00
    像这种系统,应该就在内网,不要放在公网,再安全也会有漏洞。
    huclengyue
        58
    huclengyue  
       2018-01-09 10:36:18 +08:00 via Android
    最快,最安全 难道不是 JAVA
    kuxuan
        59
    kuxuan  
       2018-01-09 10:38:36 +08:00
    肯定 PHP
    Actrace
        60
    Actrace  
       2018-01-09 10:39:12 +08:00
    最快,最安全,只有 PHP。

    其实安全这个问题是相对来说的,底子不行的话,什么语言都不安全。
    hw798
        61
    hw798  
       2018-01-09 10:50:32 +08:00   ❤️ 1
    当然是什么熟悉来什么?只要是新东西都要有一段学习和试水过程,耽误时间
    速度是:目前看来真的是 PHP + Laravel 最快,楼主学过 CodeIgniter 框架,学 laravel 应该很迅速
    安全保密性:接口做些非对称加密、时效验证、服务器的权限等等一般即可


    参考
    laravel 手册 d.laravel-china.org
    其他 www.hw798.com
    silov
        62
    silov  
       2018-01-09 10:51:30 +08:00
    同意一楼,Laravel,再用个 Voyager 什么的管理后台的页面框架,那开发效率简直了
    lbp0200
        63
    lbp0200  
       2018-01-09 10:53:01 +08:00
    bindiry
        64
    bindiry  
       2018-01-09 10:53:34 +08:00
    obviously rails
    102400
        65
    102400  
       2018-01-09 10:55:52 +08:00
    golang gin
    husky
        66
    husky  
       2018-01-09 11:00:45 +08:00   ❤️ 2
    @leisurelylicht #36
    反过来说,被人研究的多->漏洞众所周知->安全开发更规范,难道不是良性的吗
    python 被研究的少就认为相对 php 更安全,这种逻辑怕不是掩耳盗铃
    安全不是说用什么语言就会更安全的
    jhdxr
        67
    jhdxr  
       2018-01-09 11:03:21 +08:00   ❤️ 1
    @leisurelylicht 你这逻辑依然非常奇怪,研究的人多工具多必然能够推导出更不安全吗?退一步在你说的前提下,那也只是广撒网的时候,写的差的 PHP 网站相较于写的差的 Python 网站更容易被发现漏洞。但像这种系统从来要防御的都不只是简单的广撒网好吗?
    另外就是研究的人少,所以手里握两个 0day 岂不就美滋滋指哪打哪,而且我也不用担心这个被其他研究的人曝出来。


    @shijingshijing 连 laravel 都看不懂你还是别用 PHP 了,symfony 对你来说估计遥不可及了。说的难听点,laravel 只是某一些思想 /设计的 php 实现版本而已,在现在应该算是一个入门级的标准了。你可以不用甚至讨厌,但是和完全不懂是不同的。就像现在前端的入门标准也远远不是 jQuery 这么简单了。
    ioth
        68
    ioth  
       2018-01-09 11:04:36 +08:00
    对“安全”的要求确认清楚再说
    jhdxr
        69
    jhdxr  
       2018-01-09 11:04:46 +08:00
    安全上再多吐槽一句,还在考虑语言 /框架,觉得会对安全有很大影响,你以为都是 struts2 么。那种拉几个新手过来帮忙的想法比你选什么框架危险的多→_→
    tailf
        70
    tailf  
       2018-01-09 11:06:18 +08:00   ❤️ 2
    感觉楼上大多是在瞎推荐,我来仔细给楼主分析一下:

    --

    1. 技术方案选择

    没什么说的,熟悉哪个用哪个。至于安全性,用户越多越活跃的安全性越高。

    2. 数据库选择

    首推 MySQL,最成熟。楼上说 PG 的应该是尝过甜头的,这货跟 MySQL 比有一定优势(主要是因为简单),但是看你是否熟悉了,自己运维的话还是有一些小坑的。还好没人说 MongoDB,这货不是一般的坑。

    3. 运维便利性

    首推 Apache + mod_php + MySQL,无敌。
    jlkm2010
        71
    jlkm2010  
       2018-01-09 11:10:10 +08:00   ❤️ 1
    你要考虑安全性,建议别上 php 了,python 也慎重考虑,非常建议 java
    DoctorCat
        72
    DoctorCat  
       2018-01-09 11:22:02 +08:00
    说句不中听的,得看开发人员水平。当今主流编程语言都有对应的成熟的 Web 框架,安全性框架已经做了很多处理了,所以一般情况下不需要过度担忧。要说开发快,两三个个 Java 高手可能很快搞定整站了,但是遇到 low 货,哪怕用 PHP 开发效率也慢。
    pynix
        73
    pynix  
       2018-01-09 11:26:28 +08:00
    要快肯定得用脚手架。。。。。比如 ror
    GooMS
        74
    GooMS  
       2018-01-09 11:53:28 +08:00 via Android   ❤️ 1
    Php 上手最快了吧, laravel 又能保证不会写的太烂安全太差,然后就用 MySQL。这个经典结构经过了多少考验,环境要求低,部署简单,人也很好招。
    GooMS
        75
    GooMS  
       2018-01-09 11:55:33 +08:00 via Android
    至于安全,我觉得和语言没有关系。
    Building
        76
    Building  
       2018-01-09 11:55:47 +08:00 via iPhone   ❤️ 1
    当然是用自己最熟悉的语言和框架。
    xpresslink
        77
    xpresslink  
       2018-01-09 12:02:59 +08:00   ❤️ 1
    你想累死楼主么?个人用 java 开发非常不值得。
    只有大项目多人协作时候,java 可以考虑,由架构师搭好框架封装好底层,多人共享。
    因为前期会有很多需求变更的,用动态语言有很大优势。
    这种项目关键是快,最重要的就是快速撸出来个原型来。再慢慢细化。
    gouchaoer
        78
    gouchaoer  
       2018-01-09 12:11:48 +08:00   ❤️ 1
    如果是对内后台管理系统的话,那种基于 bootstrap 的后台 php 有很多脚手架,python 不太清楚
    如果是框架选择的话,我推荐 yii2,不推荐 laravel
    至于安全因为你是要说服他们团队来做,除了业务上不能有漏洞之外,还需要釜底抽薪的办法:
    第一:敏感信息的表,比如报价、用户账户信息不能在你的后台管理系统里面拿到,而需要通过内部 rpc/http 调用去另一个系统调用(这个系统对调用频率啥的进行监控),这样就算你的后台系统被拿下了,也可以阻挡敏感信息泄漏
    第二:系统之间需要独立,可以使用 docker 之类的,不能说我拿到了你的这个系统的 webshell,就可以拿下你这台主机下的别的 mysql 啊别的系统之类的
    lianxiaoyi
        79
    lianxiaoyi  
       2018-01-09 12:24:08 +08:00
    该有的漏洞都会有,CPU 都有漏洞,linux 各种漏洞。。。。。所以绝对安全是不可能的。。。php 也没有你们想的那么不安全。
    lolizeppelin
        80
    lolizeppelin  
       2018-01-09 12:37:47 +08:00 via Android   ❤️ 2
    明显就是老板拍脑袋说我们数据一定要安全
    又没给出维护安全的价位

    楼上的也一起瞎鸡巴给意见 上面连架构都帮想了


    实际情况估计就是领导觉得公司有码农 可以自己做一套
    99 %是坑 你们提的意见没用
    他们的 c 还对 php 有亲切感就可以看出他们对 PHP 的接触有多少了
    clino
        81
    clino  
       2018-01-09 12:46:40 +08:00 via Android   ❤️ 1
    建议对安全比较在意要不要考虑上 https 客户端验证
    ifconfig
        82
    ifconfig  
       2018-01-09 12:56:52 +08:00
    Laravel 开发效率真的快,目前我司所有项目统一用 laravel 重构。
    什么,性能? Opache/Redis/CDN,三台服务器,日均百万 IP,快到不要不要的
    jack010love
        83
    jack010love  
       2018-01-09 13:10:38 +08:00
    @ifconfig 嗯 静态页面吧
    idblife
        84
    idblife  
       2018-01-09 13:36:01 +08:00   ❤️ 1
    django
    然后再把节省出来的时间投入到安全上
    ifconfig
        85
    ifconfig  
       2018-01-09 14:12:18 +08:00
    @jack010love 没有纯静态哦,还是会走 laravel 的,只不过频繁读取的数据都放在了 redis
    ibugeek
        86
    ibugeek  
       2018-01-09 14:18:49 +08:00
    laravel 看一下中文文档基本上就可以上手写的,遇到不懂的再去查,基本上都查得到。用 tp ?真遇到问题你改框架吗?
    AlwaysBee
        87
    AlwaysBee  
       2018-01-09 14:22:15 +08:00 via iPhone   ❤️ 1
    vue laravel,完美
    walterwan
        88
    walterwan  
       2018-01-09 14:28:01 +08:00
    直接用 wordpress 写个 plugin 不就行了么
    zander1024
        89
    zander1024  
       2018-01-09 14:32:12 +08:00
    如果有存储过程 不用想了 用.NET 没有的话用啥都行 就 PHP 就行
    MushishiXian
        90
    MushishiXian  
       2018-01-09 14:34:11 +08:00   ❤️ 1
    其实 laravel 并没有那么难入门,难的是要去理解它那套内部的东西,但是不妨碍你使用这个框架,laravel 的生态,一大堆优秀的包,而且开发起来按照它那套约定,真的快,安全都只是相对的,用的少的东西就安全这种说法,根本不成立吧
    wmhx
        91
    wmhx  
       2018-01-09 14:47:28 +08:00   ❤️ 1
    安全 不能总是想依靠框架 /网络 , 特别是敏感信息,放在网上,就要做好泄露出去的准备, 所以需要考虑的是加密, 敏感相关信息都需要一定程度的加密.
    Totato5749
        92
    Totato5749  
       2018-01-09 14:52:58 +08:00
    php 真的比 ror 还快?
    HankYan
        93
    HankYan  
       2018-01-09 14:55:40 +08:00
    当然是 yii 啦~~
    tailf
        94
    tailf  
       2018-01-09 15:27:55 +08:00
    @Totato5749 是的,Rails 已经落伍。
    Totato5749
        95
    Totato5749  
       2018-01-09 15:48:34 +08:00
    @tailf。。。。。我说的是开发速度。。。
    imnpc
        96
    imnpc  
       2018-01-09 16:04:39 +08:00   ❤️ 1
    看了这么多楼 好多都不在点子上

    1.建议 PHP
    2.对接扫码枪什么的实际上是个文本填充
    3.mysql 数据库即可 InnoDB + 事务 如果需要存储过程 也没问题
    4.安全问题 如果各地仓库不是静态 IP
    那么只能用 双向数字证书验证 + 两步验证 totp (用 Authy 客户端)
    或者 双向数字证书验证+FIDO 硬件验证(yubikey 或者 飞天的硬件 大概 15 美元左右一个) 这个只支持谷歌浏览器
    推荐 LAMP apache 配置双向验证比较简单
    z7356995
        97
    z7356995  
       2018-01-09 16:18:56 +08:00 via Android
    楼主会 thinkphp 就用 thinkphp 吧 目标客户是美帝 那边黑客懂 thinkphp 的真不多 相对查找框架漏洞也难一点
    tbxxx
        98
    tbxxx  
       2018-01-09 16:19:18 +08:00 via Android   ❤️ 1
    django 没毛病 php 由于历史遗留问题 鬼知道会不会出现什么反序列化 文件包含等问题 java 这个反序列化问题现在也是有点怕 都差不多一年多 django 还是没爆出什么大洞 php 和 java 就怕哪一天一个 0day 呼到脸上 更何况你之前有开发 django 的经验 所以我觉得选这个还是不错的
    jason19659
        99
    jason19659  
       2018-01-09 16:22:38 +08:00
    GO 啊
    aqwei
        100
    aqwei  
       2018-01-09 16:37:24 +08:00
    和语言框架没关系,数据放总部,建 2 条 VPN,公司一条,供应商一条,再两块中间层连一个数据层。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2622 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 05:45 · PVG 13:45 · LAX 21:45 · JFK 00:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.