php爆库
‘壹’ 谁清楚phpcms和dedecms各个缺点和优点
phpcms优点:
1. 模块化安装,非常适合安装,拆卸,和拿到市场上去交易非常方便的。
2. 灵活的标签语法,非常强大。
3. 缓存做的非常优秀。几乎支持目前主流的几大缓存系统解决方案,file缓存,eaccelerator缓存,memcache缓存,shmop缓存等
4. 安全性也不错的。后台为了防范入侵,采用了cookie和session同时存在验证技术,才可以安全进入后台。
多次登录失败,开启验证码功能。防止机器人频繁猜口令。
5. 数据库。 在根目录下的include目录下,db_access.php db_mssql.php db_mysql.php 等,就照着他的方法,在增加几个也没问题的。
6.兼容性。是在php4的基础上开发的,所以向下兼容性是不错的。在include/global.func.php 这个文件可以看到很多 if(!function_exist()){ },这些代码就是为了兼容php4相关函数。
phpcms缺点:
1. 后台对应的模块的功能列表url,从数据库中读取的,也即是,安装的时候,将url写入数据库了。这个如果二次开发要修改的话,不是很方便的,最好是写到文件中,读取文件内容,方便开发者开发,而且也更容易维护,如果是出于安全考虑的话,不妨加下密也可以的。
2. 分部式。 后台的某些功能模块,还是要调用各个应用模块的admin部分,相关*.inc.php文件.如果我要把其中某个模块或应用独立出去部署到其他的服务器上,就不方便了。
3.数据库设计问题,后台开设模型时,表的引擎只能是myIsam,而不能选择其他的,字段的类型,比如要开设一个字段为number,类型为int,但是在新增加的模型表中还是以varchar出现,而不是int,长度是默认的255.modelfiled表,才发现该系统是将类型写到该表中了。
4.加密/解密程序。目前已经在想相关安全网站已被爆以破解。这也不是什么新闻了。在开发中,关注下相关安全厂商发布的漏洞。
5. 数据库抽象层。 就以上提到的几个数据库文件。 db_mssql.php db_mysql.php db_access.php 等对于数据库分布式,应该没问题的。 数据库抽象层处理数据比较快,且快平台更容易且更容易维护,这个是需要考虑的。
Dedecms功能实用,模板功能使用简单。
‘贰’ 个人电脑安全策略
迅速打造黑客课程安排:(前提是要很熟悉各系统,至少会HTML,ASP,C或C++)
1,黑客术语,黑客英语学习——(2天)
2,DOS系统命令及批处理学习(包含Linux)——(5天)
3,系统常用程序运行名及功能学习——(2天)
4,计算机服务与端口学习——(1天)
5,FTP命令及FTP安全架设学习——(2天)
6,SQL安全架设及命令学习——(2天)
7,WEB架设及安全设置——(2天)
8,服务器(堡垒主机)的架设,虚拟机的架设——(1天)
9,目标信息收集与漏洞分析(各具优势功能的扫锚器的使用与互补)——(3天)
10,远程控制程序的配置及使用(灰鸽子,上兴等常用的)——(3天)
11,挂马的制作及传播技术(网页,邮件,FLASH,OFFICE,图片,影音木马)——(5天)
12,恶意代码,功击代码基础学习——(3天)
13,木马,后门,病毒的免杀技术(原理,运行,传播,改特征码,加壳,脱壳,查壳等)——(7天)
14,木马,病毒,后门的手工安全检查与清除——(5天)
15,密码破解技术(系统密码,文件密码,邮箱密码,QQ密码,加密代码等)——(15天)
16,溢出代码的编绎——(1天)
17,主机漏洞入侵技术(系统漏洞,软件漏洞的利用与防范)——(50天)
18,无限网络原理与入侵,防范——(3天)
19,局域网的入侵与安全防范——(7天)
20,GOOGLE黑客技术——(10天)
21,嗅探与劫持原理与应用技术——(15天)
22,网络COOKIE欺骗原理与应用技术——(10天)
23,网站漏洞入侵技术及注入,旁注(包含ASP/PHP/CGI,爆库,手工注入,常用注入工具的使用,代码)——(30天)
24,提权应用技术的学习——(7天)
25,突破防火墙技术——(10天)
26,隐藏技术(日志清除与修改,跳板技术,代理原理与架设技术等网络入侵隐身技术)——(7天)
27,蜜罐技术,与反追踪技术——(10天)
28,软件破解技术——(20天)
29,DDOS——(10天)
注:技术资料的收集与整理,并作好笔记。整理好自己的工具并保存好。
‘叁’ php 密码验证过程是在代码中进行的 还是在数据库中进行的
……一般情况下,为了安全,密码在数据库中存储,是已经加过密的,当然,最简单方便的便是MD5,在验证的时候,把前台提交的密码直接加密,然后再去数据库中对比,只要和数据库中的值相同,即说明原密码相同,这样,就算是被拦截或是被爆库,也只能拿到MD5之后的密码,MD5到现在为止,能解密的方法就1个,就是穷举法,所以是相对安全的
‘肆’ 求lnmp安装后,VPS该如何设置权限
iptable中加入要的端口 如3306(mysql) 80(nginx) 为ACCEPT(允许)
其他的基本不用动 然后注意下您的程序的安全性就行了 实在要防止进来 去 php.ini把那些涉及系统调用的php函数都禁止掉 就行 一般的 如果你的程序 用户没有提交信息的页面 都不用管这些 有那些用户插入信息的也页面 你就做好用户的权限检查 和体交内容内容的sql注入 过滤就行了 防止他们执行系统权限或SQL爆库注入等 一般没人找你 除非你的程序让人眼红 来盯你了 基本上就这些吧 希望对你有帮助哦
‘伍’ php写入数据库失败
可以使用mysql_error([resource$link_identifier] )来查看产生错误的提示信息,官方说明:网页链接
‘陆’ php网站在检测时总是提示网站存在sql注入漏洞
sql 注入的问题,是利用sql本身的漏洞来爆库的啊,防止sql注入,主要是在接到的数据入库的时候,把数据进行过滤即可,mysql_real_escape_string(),php.ini中的magic_quotes_gpc,magic_quotes_runtime参数(尽量不要使用),addslashes(),htmlspecialchars()也可以的,可以过滤一些字符串等,如果接到的只为整型可用intval(),其实sql注入,主要是防止一些特殊字符,例如:*,-,<,>等等
‘柒’ 我需要用api从别的地方获取大量数据,然后存数据库,现在有70多万条数据,直接php获取过来服务器就爆了
根据需求选合适的方法咯:
比如等数据用到时再获取,数据库相当于缓存,第一次用到时,你的数据库里面必然没有这条数据,这时就用api从别的地方获取,并缓存到数据库中,以后用到时就直接从数据库里获得了
定时定量获取,将性能分散化,比如100ms定时获取一条数据,这样cpu和内存会一直维持在较低水平,几乎不会影响性能。
服务器空闲期间多获取,忙的时间少获取,比如检测到cpu利用率小于50%,这段时间就快速同步,利用率大于90%,就停止同步
上面三条结合使用,再加上多线程,cpu利用率低就将定时器时间设的短一些,线程多一些,利用率高就设的长一些,线程少一些。无论何时,当用到某条数据时,用1的方法同步