php源码怎么留后门,大公司一般都是选Java还是PHP?
谢邀!
首先说明:选择Java还是PHP,不是一个零和问题,不是有你,没我,而是可以相互并存的!
笔者遇到的一些大型项目,有不少是采取前端PHP+后端JAVA的混合模式;从整体架构,以及可维护性上一般会有以下考虑:
靠近用户的前端,使用PHP能够更快的完成前端频繁而琐碎的更新,自如的应对各种需求的变化。页面的结构调整、用户输入内容的基本验证、仅只和用户交互有关的简单逻辑等都很适合使用PHP来开发,甚至可以通过类似Smarty等模板技术将其页面的变动迁移到前端团队。
而基本的业务逻辑和数据的更新采用Java开发,可以有效的提高复用度、提升性能和吞吐能力、规避安全问题等。而开发效率稍有降低换来的是可维护性的提升,发布速度慢就更不是问题了,因为通常对于基础业务逻辑的调整往往都是整体修改,并层层测试确认才能发布的。
所以,大型网站前端采用PHP后端采用Java,既好招人又好维护、系统稳定还性能高、连安全性都大大增加。代码复用、文档完备度居然也都改善了。让你在以上这些好处触手可及时,对架构师知识谱系在广度上要求更高一些这事根本就不是个问题。
当然也有采取传统前后端纯JAVA的,不过现在已经较少了
在过去十年,基于Java的MVC框架如同雨后春笋一般层出不穷,
但都不愿意面对或者解决的问题是,它对前端设计师极不友好,而且,开发效率及其低下
互联网企业鲜有基于Java,尤其是基于MVC来构建自己的网站,是有深刻的原因的:
1. 对前端设计师极不友好。MVC模式下,可编程的模板语言成为非常重要的角色,而以视觉创造为主要工作的前端设计师,他们熟悉的是HTML和CSS,而嵌入模板文件的各类动态代码,对他们来说即使不是如同天书,也是及其让人及其困惑的,当然,他们必然要面对这些内容,因此,传统的PHP必然成为他们的最佳,因为,这个至少是比较容易让人理解的。
2. 开发效率低下。互联网企业的开发通常是快速迭代的,并没有明确的需求一说,传统的PHP开发模式之所以受到青睐,就在于它易于变更,开发速度快,MVC模式的开发在这一点基本完败,
因此,很少有互联网企业会基于Java来构建自己的前端页面,即使有,也通常是基于JSP的自有框架。
更进一步的,在过去将近10年的MVC历史中,我们其实一直都被下面的问题困扰着:
1. 前端设计师和工程师一直在抱怨嵌入到页面的动态代码让他们很难对页面进行大规模的重构,而另一方面,后端开发人员也经常抱怨他们要花很大的精力才能修复前端对页面的重构带来的问题。
2. 开发人员经常还会因为模板语言贫乏的功能而饱受折磨。一些特殊的复杂渲染逻辑经常需要富有经验的开发人员才能写出极具技巧性的代码来实现。而这样的代码,通常会成为谁也无法理解的魔术代码。
3. 开发人员对MVC低下的开发效率极度不满,我们一直在渴望可以有一个更加高效的开发模式。
最后总结一下,你这个问题本身可能就是个问题,呵呵
一个公司选择什么技术架构不是一成不变的,而是会根据项目特点,技术特点来综合评估进行技术选项的!
用身体或者其他物体去挡电梯门?
平时生活中,我们或多或少都见过这样的行为,但是不要认为这样做真的就没事了,其实电梯都是存在着感应盲区的,一旦你用身体或者其他物体挡门,在这个感应盲区的话,电梯是会强制关闭的,强制关闭后电梯就会向上或者向下运行,造成的结果也可想而知了,类似的新闻我想网上应该也都有见到过的吧。所以,在乘坐电梯的时候,还是不要轻易用身体或者其他东西去挡门了。
dede后台被入侵?
1.先将templets 模板文件下载到本地,用批量替换工具将挂的黑链替换,并检查templets 模板有没有后门程序,如:.php 为后缀结尾的,你都分析下,里面很有可能隐藏后门程序。
2.对uploadfile 程序进行备份,下载到本地,检查有没有.php 为后缀结尾的 并分析 3.对数据库进行备份,并将备份下载到本地 4.对整个程序进行备份,并下载到本地 5.删除服务器上的整个网站,在dede官方,下载一个与你程序一致的版本,上传到服务器,并重新安装 6.将 检查后的 :数据库,和 uploadfile 和 templets 上传覆盖 服务器 完成以上步骤后 挂的连接 已经被清楚,包括后面程序也被清理。请问黑人家网站的基本原理是什么呢?
所说某某网站被黑,其实是指黑客入侵网站服务器,非法获取权限。而黑客入侵的过程大概可以分为七个步骤:
一、信息收集信息收集,是主要收集关于入侵对象的更多信息,方便后续漏洞挖掘。需要收集以下大概信息:
(1)whois信息:注册人,电话,邮箱,DNS,地址
(2)Googlehack:敏感目录、敏感文件、后台地址、更多信息收集
(3)服务器IP:nmap扫描,端口对应服务、C段
(4)旁注:bing查询、脚本工具
(5)如果遇到CDN:绕过从子域名下手、dns传送域漏洞
(6)服务器、组件指纹,操作系统,web容器、脚本语言
二、漏洞挖掘通过收集到的信息,然后就进行漏洞挖掘。漏洞一般是操作系统或者应用软件设计的时候由于逻辑不严谨,留下了安全漏洞;还有可能网站管理人员配置web服务器或数据库服务器不当,而留下了安全漏洞。一般漏洞大概如下:
(1)探测web应用指纹:
博客类:WordPress、emlog、Typecho、Z-blog
社区类:discuz、phpwind、dedecms、startBBS、Mybb
PHP脚本类型:dedecms、discuz、PHPcms、PHPwind
(2)xss、csrf、xsio、sqllinjection、权限绕过、任意文件读取、文件包含
(3)上传漏洞:截断,修改,解析漏洞
(4)有无验证码:暴力pj
漏洞千千万万,这列举的也仅仅是其中一部分而已。
三、漏洞利用如果发现某个漏洞之后,就开始漏洞攻击,获取相应权限,根据场景不同变化思路拿webshell或者其他权限
(1)思考目的性,要达到什么效果
(2)隐藏,破坏性,探测到的应用指纹寻找对应exp攻击载荷或者自己编写
(3)开始漏洞攻击,获取相应权限,根据场景不同变化思路拿webshell
四、提权黑客根据对应漏洞,获取了一定的权限,但不一定是最高权限,有可能只是一个普通用户的权限,这个时候就需要配合另外一些本地漏洞来进行提升普通用户权限了,将权限扩大化。只有把权限提升之后,才更加方便后续的操作。
(1)根据服务器类型选择不同的攻击载荷进行权限提升
(2)无法进行提权,结合获取的资料开始密码猜解,回溯信息收集
五、实施攻击当黑客获得最高权限后,就可以对目标为所欲为了。包括篡改网站首页、篡改其他重要文件、窃取信息、上传后门程序等。
六、留后门黑客留后门的目的,是为了下次更加方便的进入系统。上传运行后门木马便是其中一种手段,当然这种手段很多。
七、日志清理清理日志是最后的善后工作,因为对操作系统的任何操作,都会有对应的日志记录下来。已经获得了最高权限,为了隐藏自身,黑客往往需要删除或者篡改对应的日志。
(1)伪装、隐蔽,删除指定日志
(2)根据时间段,find相应日志文件
结束语以上是小黄总结的黑客入侵的大概流程,不提供任何入侵具体细节,仅供运维新手或对黑客入侵感兴趣人士了解下流程。小黄作为一个网站运维人员,对网站入侵也需要做一定的了解,才能更好的做对应的防护工作。在实际工作过程中,信息收集这部分基本每天都有,可以说几乎时时刻刻都有探测之类的;即将入侵成功(事中发现异常)和已经入侵成功(事后发现异常)也发现好几起。
文|技术猿小黄图|来源于网络我是技术猿小黄,很高兴为您回答,如果您喜欢我的回答,可以关注我,点个赞,谢谢
如果您有什么想法或建议,欢迎下方留言评论。
为什么都推荐使用wordpress而不是phpcms这些国内的CMS呢?
我是2006年落伍老站长了,安全第一,除了WordPres,少有几十年持续维护更新且扩展丰富的cms源码。主流cms除了wc的帝国cms还在维护,其他都停止维护了。
web程序更新update非常重要,现在赌博色情违法spam和攻击太多,处理不好会坐牢的,一旦网站被攻击,站长很难自证清白。
落伍者站长论坛就有人因被入侵而被处罚,我也曾经因此被警方传唤检查电脑手机。
我最早用dedecms,bug极多,后来用phpcms,官方停止维护,安全问题xss注入太多,只能全部转换成WordPress。
WordPres要小心模版有后门,我去年批量使用某个themes主题,导致被xss,直接被微信封了十几个域名。
如今我建议做交互不多的网站,本地构建环境,生成HTML,再映射附件和HTML目录,用sync自动对比或者直接挂载,上传到支持云对象存储的bucket,再把主域名cname解析到bucket,自定义好默认首页即可全站静态化。
对象存储无法执行,只能静态访问,无惧大多数攻击。这也是政府网站维护人员推荐给我的解决方案。