高中生做什么工作好? 标签:汽修、美容、普工、 厨师、文员(No)...
电商
Java工程师就业课程,助你在互联网风口,称霸职场! 5个月让你成为...
北大青鸟辉煌15年 见证我国IT产业发展!今天,北大青鸟毕业学员...
北大青鸟APTECH,由北大青鸟集团与印度阿博泰克(APTECH)合资成立...
学电脑 计算机培训 就到北大青鸟东莞金码学校 0基础学习 技能提...
北大青鸟东莞金码学校提供专业网站开发培训,WEB前端培训,网站制作培...
PHP是使用最广泛的脚本编程语言之一。市场份额颇能说明其主导地位。PHP 7已推出,这个事实让这种编程语言对当前的开发人员来说更具吸引力。尽管出现了一些变化,但是许多开发人员对PHP的未来持怀疑态度。一个原因是PHP的安全。
PHP的安全是广大开发人员担心的主要问题。虽然PHP提供从里到外的可靠安全,但是需要由开发人员正确地落实这些安全机制。我们在本文中将为Linux管理员介绍几个PHP安全要点。这些要点将帮助你确保Web应用程序安全,并确保从长远来看正常运行。
在我们开始之前,有必要了解一下我们所要处理的系统。出于演示的需要,我们使用Fedora。然而,这些要点应该适用于Ubuntu版本或其他任何Linux发行版。查看你操作系统发行版的使用手册,即可了解更多信息。
不妨仔细看一下我们系统环境的几个关键文件。你的文件应该类似或对应于下列:
默认的Web服务器: Apache
DocumentRoot: /var/www/html
PHP配置文件: /etc/php.ini
扩展配置目录: /etc/php.d/
安全文件: /etc/php.d/security.ini
这些技巧将保护你的网站,避免不同类型的常见攻击,比如SQL注入、XSS、跨站请求伪造攻击、eval()和文件上传等攻击。
1. 删除不必要的模块。
PHP随带内置的PHP模块。它们对许多任务来说很有用,但是不是每个项目都需要它们。只要输入下面这个命令,就可以查看可用的PHP模块:
# php - m
一旦你查看了列表,现在可以删除不必要的模块。减少模块的数量有助于提高你所处理的Web应用程序的性能和安全。
2. 限制PHP信息泄露。
平台泄露关键信息司空见惯。比如说,PHP会泄露一些信息,比如版本以及它安装到服务器上的事实。这可以通过expose_php命令来实现。为了防止泄露,你需要在/etc/php.d/security.ini中将该命令设成off。
expose_php=Off
如果你需要了解版本及其状态,只要针对网站地址运行一个简单的Curl命令就可以获得该信息。
Curl - I http://www.livecoding.tv/index.php
之前的命令会返回下列信息:
HTTP/1.1 200 OK
X-Powered-By: PHP/7.0.10
Content-type: text/html; charset=UTF-8
3. 禁用远程代码执行。
远程代码执行是PHP安全系统方面的常见安全漏洞之一。默认情况下,远程代码执行在你的系统上已被启用。“allow_url_fopen”命令允许请求(require)、包括(include)或可识别URL的fopen包装器等函数可以直接访问PHP文件。远程访问通过使用HTTP或FTP协议来实现,会导致系统无力防御代码注入安全漏洞。
为了确保你的系统安全可靠、远离远程代码执行,你可以将该命令设成“Off”,如下所示:
Allow_url_fopen=Off
allow_url_include=Off
4. 将PHP错误记入日志。
加强Web应用程序安全的另一个简单方法就是,不向访客显示错误。这将确保黑客根本无法危及网站的安全性。需要在/etc/php.d/security.ini文件里面进行编辑。
display_errors=Off
现在你可能会想:完成这一步后,“开发人员在没有错误信息的帮助下如何调试?”开发人员可以使用log_errors命令来用于调试。他们只需要在security.ini文件中将log_errors命令设成“On”。
log_errors=On
error_log=/var/log/httpd/php_scripts_error.log
5. 合理控制资源。
为了确保应用程序的安全,控制资源很重要。为了确保适当的执行和安全,你就要对PHP脚本执行予以限制。此外,还应该对花在解析请求数据上的时间予以限制。如果执行时间受到控制,脚本使用的内存等其他资源也应该会得到相应配置。所有这些度量指标可通过编辑security.ini文件来加以管理。
# set in seconds
max_execution_time = 25
max_input_time = 25
memory_limit = 30M
6. 禁用危险的PHP函数
PHP随带用于开发的实用函数,但是也有可能被黑客用来闯入Web应用程序的大量函数。禁用这些函数可以提高总体安全性,并确保你没有受到危险的PHP函数的影响。
为此,你先要编辑php.ini文件。一旦进入该文件,找到disable_functions命令,禁用里面的危险函数。为此,你只要拷贝/粘贴下列代码。
disable_functions =exec,passthru,
shell_exec,system,proc_open,popen,curl_exec,
curl_multi_exec,parse_ini_file,show_source
你可以在此( https://www.eukhost.com/blog/webhosting/dangerous-php-functions-must-be-disabled/ )进一步了解禁用危险的PHP函数。
7. 上传文件。
如果你的应用程序不需要上传任何文件,禁用上传文件的功能有助于提高安全。想禁止用户上传文件,只需要编辑/etc/php.d/目录下的security.ini文件,将file_uploads命令设成OFF。
file_uploads=Off
8. 保持版本最新。
开发人员在24/7不间断地工作,给你使用的技术打上补丁。PHP也是一样。由于它有一个开源社区,补丁和修正版定期发布。更新版还为首日漏洞及其他安全漏洞提供了安全补丁。如果你注重应用程序的安全性,就要始终确保你的PHP解决方案是最新版本。另外,给其他相关技术打上最新的补丁可以确保最大限度的安全。
9.控制文件系统访问。
默认情况下,PHP可使用fopen()等函数来访问文件。open_basedir命令提供了访问。首先,始终要将open_basedir命令设成/var/www/html目录。将它设成其他任何目录会导致安全问题。
open_basedir="/var/www/html/"
10. 控制POST大小。
我们的最后一个PHP安全要点是控制POST大小函数。HTTP POST函数使用客户端的浏览器,将数据发送到Web服务器。比如说,用户可能上传证书,然后发送到Web浏览器以便处理。一切都运行顺畅,直到有一天黑客企图发送庞大的文件来耗尽服务器资源。这很可能会导致服务器崩溃或响应缓慢。为了保护服务器远离这个漏洞,就需要设置POST大小。POST大小可以在/etc/php.d/security.ini文件里面加以设置。
post_max_size=1k
结束语
安全是广大Web开发人员和Linux管理员最关注的问题之一。如果采取了上述要点,你势必可以加强开发环境和PHP Web应用程序方面的安全。要是你认为我们遗漏了重要的内容,欢迎留言补充。
2016年4月1日,北大青鸟东莞金码学校的老师们参加了嘉华教育集团组织的茶溪谷一日游。在风景优美的东部华侨城茶溪谷,老师们不仅进行了团队
北大青鸟东莞金码学校第十届校友会在报告厅顺利举行,本次校友会主题为为职场加点‘料’,出席本次校友会的嘉宾有:安卓主管方老师
北大青鸟东莞金码每年都会举办文化艺术节,以各种活动形式贯穿其中,让学员感受到浓浓的文化艺术氛围,并亲自参与到文化节的活动中来,也是
北大青鸟东莞金码学校不定期组织学员开展精彩的文娱活动,通过K歌比赛、晚会节目表演、艺术节活动,以及平时的文娱表演,让学员可以通过各种活动展现自
北大青鸟东莞金码经常组织各种形式的学术活动,包括辩论赛、编程大赛、PPT比赛、知识竞赛、学术讲座、程序开发比赛等等。让学员通过参与各
很多学生求职难,不是因为素质不好、能力不行、经验不够被刷掉,而是因为简历不够闪!找出写简历的突破口、切入点,才能在HR的筛选过程中脱
1、用很怪异的邮箱名字发送简历例如司机投递简历时名字是没油了或迷路了,年轻人投简历用什么彻夜跳舞、狂欢这类的文字,或者带脏字,等等
一些职业限制因素是我们无法掌控的。新产品发布有可能被经济不景气拖累,你的导师在公司重组中失业,你必须在高层另找个新的获胜者作为导师
大学毕业找工作,你选择了哪个城市作为自己职业生涯的出发点?最近正值毕业求职季,前程无忧论坛(bbs 51job com)用这个话题带网友们回忆了往
最近好多人都在问,面临暑期实习,应该去大公司还是小公司?原以为现在公司名气大平台高,但是入职后发现各种问题,好坏公司如何
有了这些法宝,妈妈以后再也不用担心我加班了~一、产品狗、运营猫的数据处理中心1 infogr am infogr am是一个强大的数据可视化图表创作
预 备测试环境: AMD 毒龙1 4G OC 1 5G、256M DDR333、Windows2000 Server SP4、Sun JDK 1 4 1+Eclipse 2 1+Resin 2 1 8,
1 字符基础1 1 单字节字符集(single-byte character set(SBCS))顾名思义,在这种模式下,所有的字符都只用一个字节表示,常见的如,ASC
众所周知,新站一般排名稳定的时间大概在3个月左右,所以seo教程以新站上线三个月的时间来阐述下外链思想,以及如何发外链来让关键词更早的...
DDoS带来的破坏是巨大的,你无法阻止黑客对你的网站发动DDoS攻击,除非主动断开Internet连接。如果我们无法防止这种攻击,那么,怎样做才能最大限度地保护我们的企业网络呢?
横沥镇北大青鸟:打工多年想学技术学什么有前途?来自东莞横沥镇的孟小冬走进东莞北大青鸟校区,讲起了他在东莞横沥打工的经历,从18岁就来
初中毕业学啥技术好?在东莞,很多工厂的工人们都只有初中学历,但是他们仍然有一颗敢于奋斗的心,他们期望通过自己的努力为自己赢得精彩的
春节过后是招聘旺季,对于东莞北大青鸟毕业学生来说,这样的机遇必须好好把握。
一年一度的灾难片来袭,因为要开学啦!同学们,暑假作业完成没,摸底考试又要来了,是不是感到又彷徨,又紧张?如果说假期是为了放松和调整
时光犹如停留在半年前,我不知道该怎么形容我现在的心情,因为一切都太出乎我的意料了,当初还在犹豫北大青鸟学校学费的时候,还在犹豫北大
女生高考落榜怎么办?在2016年的今天,上大学已经不再是改变命运的唯一方式,读职业培训学校也是一种出路。上职业教育,可以学到一门专业技
众所周知,随着互联网日新月异的发展,随着网络的科技发达,电脑的应用成了我们生活中不可的一件物品了,经常在一些贴吧论坛上看到很多人提出这样的问题,“本人已经成年了,还可以再学习电脑吗?”“电脑学起来难度大吗?”“现在学习会不会太晚了”等一系列的问题,其实,成人学习电脑并不算太晚,关键看你选择什么成人电脑培训班!
1 只在电脑上练习如果面试官要考核你的技术,很有可能会要求你在白板上写代码,而不是电脑上。所以,你就不能只在电脑上练习。电脑上的编译
高考落榜读大专还是学技术好呢?不少人会有这样的疑问。就小编看来,如今大学升学率高达90%,高考落榜的学生,通过一些渠道也有大学上。人
“To be,ornot to be:thatis thequestion”(生存还是毁灭:这是一个问题),这是著名的莎士比亚悲剧《哈姆雷特》中的主人公一句非常经典的独白,也是数百年来经常困扰人们的选择问题。这段哈姆雷特式问题的台词,经常用来形容一个人在犹豫在思考时候的两难情况,用现代人的说法就是“选择困难症”。人们经常纠结于各种选择,生怕选错了,就会陷入“蓝瘦香菇”的困境。