PHP启动时将读取配置文件(php.ini)。对于PHP的服务器模块版本,仅在启动Web服务器时才发生一次。对于CGI和CLI版本,它会在每次调用时发生。
在配置文件中,设置display_errors=On,开启了PHP错误显示,在PHP程序遇到错误时,会暴露PHP文件和系统路径,从而容易被威胁,我们需要设置:
如果a目录被黑,这样会被限制到一定范围的目录中,目录最后一定要加上/,比如/tmp/,而不是/tmp
PHP配置文件中的disable_functions选项能够在PHP中禁用指定的函数。PHP中有很多危险的内置功能函数,如果使用不当,可造成系统崩溃。禁用函数可能会为研发带来不便,但禁用的函数太少又可能增加研发人员写出不安全代码的概率,同时为黑客非法获取服务器权限提供遍历。
PHP是一种开源服务器端脚本语言,应用很广泛。Apache web服务器提供了这种便利:通过HTTP或HTTPS协议,访问文件和内容。配置不当的服务器端脚本语言会带来各种各样的问题。所以,使用php时要小心。以下是Linux下PHP+Apache的26个PHP程序员必知的安全方面的设置
这里我选用的是腾讯云美国的服务器,预装的是centos7.9系统,预装宝塔面板,十分方便
老实讲,之前很早我就发现了Flarum这个论坛程序,但是当时我还刚刚跟着摸索建站这些东西,现在才明白这些名词究竟能干嘛 最初在建站之初,我便看到了许多程序,尤其是论坛,那时候作为一个啥也不会的小白,到处找资源,逛得最多的就是那些论坛了 由此,我在想,我能不能自己建立一个论坛呢 当然,就算是萌新也知道例如dz这样的,但是一个初入站长行列的人是舍不得投入成本的,所以没有模板的dz论坛显而易见的丑,所以不久后我就放弃这个想法了。 再后来,偶然见看见了Flarum这个论坛,惊为天人,作为一个现代风的论坛颜值还是蛮高的,所以,我当时试了下, 虽然在当时理所当然没成功就是了
Flarum 的前身是 esoTalk (opens new window)和 FluxBB (opens new window),她生来就被设计如此:
Session Session的机制 session机制采用的是在服务器端保持状态的方案,并且有自己对应的唯一标识session_id,区分不同用户之前的信息。 Session的工作原理 当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中; 首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量; 当执行PHP脚本时,通过使用session_register()函数注册session变量。 当PHP脚本执行结束时,未被销毁的ses
下面是两种常用的禁用fsockopen的方法。 修改php.ini,将 disable_functions = 后加入 fsockopen 修改php.ini,将 allow_url_fopen = On 改为 allow_url_fopen = Off fsockopen函数被禁用的解决方案
session比cookie安全。因为cookie是把整个cookiekey=>value都存储在浏览器上面。而session只是在浏览器上面放一个ID。数据都在数据库中,所以就算sessionid被获取利用,但是session中的数据并不会被恶意程序获取,这一点相对cookie来说就安全了一些。
很明显,PHP+Mysql+Apache是很流行的web技术,这个组合功能强大,可扩展性强,还是免费的。然而,PHP的默认设置对已经上线的网站不是那么适合。下面通过修改默认的配置文件加强PHP的安全策略!
Apache是非常流行的Web服务器,近几年虽然Nginx大有取代之势,但Apache仍占有不少的使用量。本文介绍生产中需要注意的一些安全配置,帮助我们搭建更稳定的Web服务。
Webshell是黑客经常使用的一种恶意脚本,其目的是获得对服务器的执行操作权限,比如执行系统命令、窃取用户数据、删除web页面、修改主页等,其危害不言而喻。黑客通常利用常见的漏洞,如SQL注入、远程文件包含(RFI)、FTP,甚至使用跨站点脚本攻击(XSS)等方式作为社会工程攻击的一部分,最终达到控制网站服务器的目的。
Session的设置不同于Cookie,必须先启动,在PHP中必须调用session_start()。session_start()函数的语法格式如下:
然后呢最近不打算维护,也不打算管理,因为你看看这个时候是什么时候,我要开学啦~ 然后呢,这个论坛先用虚拟主机搭建,暂不使用云服务器,开学期间流量我想应该比我博客还要小,所以我不太慌。 (也不需要特别稳定,没有什么很重要东西,用户数据除外 但是用户数据我在阿里云买了专门的数据库,不慌)
1.禁用COOKIE 后 SEESION 还能用吗? 答:通常服务器端的session是借助于seesion cookie来和客户端交互的。 但如果客户端禁用了cookie的话,session还可以借
0x00 隐藏php版本 expose_php=off 0x01 禁用危险的php函数 disable_functions=popen,pentl_exec,passthru,exec,system,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_s
什么是h5ai H5ai是一款功能强大 php 文件目录列表程序,由德国开发者 Lars Jung 主导开发,它提供多种文件目录列表呈现方式,支持多种主流 Web 服务器,例如 Nginx、Apache、Cherokee、Lighttpd 等,支持多国语言,可以使用本程序在线预览文本、图片、音频、视频等。 请注意,默认情况下,放到目录下的 .php 文件将会被直接执行,并不以文本显示。 安装 首先要先搭建好web服务器,例如:LNMP(Liunx/Ngnix/MySql/PHP) LNMP安装教程:Here
Php的配置项可以在配置文件中配置,也可以在脚本中使用ini_set()函数临时配置。
自从建站后没多久,就把PHP的版本升级到7了,后续有升级到7.2了,一直也没关注过phpinfo的信息,今天小伙伴在群里说我草,phpinfo都看不到,我大概想了一下,好像宝塔的安全设置有个关于phpinfo显示开关的,我去找了一下,并没有发现相关开关,估计是我记错了。那这问题总得解决呀。
近期,研究人员在WordPress的权限处理机制中发现了一个安全漏洞,而这个漏洞将允许WordPress插件实现提权。其中一个典型例子就是WooCommerce,该插件是目前最热门的一款电子商务插件,并且拥有400万+的安装量。简而言之,这个漏洞将允许商铺管理员删除目标服务器上的特定文件,并接管管理员帐号。
Mysql的读写分离?(进阶的会遇到) 读写分离的实现原理就是在执行SQL语句的时候,判断到底是读操作还是写操作,把读的操作转向到读服务器上(从服务器,一般是多台),写的操作转到写的服务器上(主服务
文件上传漏洞扫描或手动测试时,仅收到HTTP 200状态码并不足以确定是否存在真实的漏洞,因为200状态码仅表示请求被服务器成功接收并处理,但不一定意味着上传的恶意文件已被正确上传或能够被执行。为了判断是否为误报,可以采取以下步骤进行深入分析:
在php.ini中设置禁用allow_url_fopen和allow_url_include。这将禁用require/include/fopen的远程文件
PHP配置文件指令多达数百项,为了节省篇幅,这里不对每个指令进行说明,只列出会影响PHP脚本安全的配置列表以及核心配置选项。
首先我拿到了一款支付软件的安装包,我们先在模拟器中安装好这个软件,我们发现这里的注册按钮是无法使用的,如下图:
以上方法是命令执行完才可执行后面程序,如果你的逻辑复杂,会影响用户体验,这时可以提供一个,异步执行的方法,通知服务器执行,不占用主程序进程的方法
最近在做渗透测试的练习中遇到一个比较有意思的站点,在此记录下来,希望能给向我一样刚入安全圈不久的萌新提供一些基本思路吧。
CRMEB v4支持Lunix/windows服务器环境,需要PHP7.1 ~ 7.3 版本支持, 可运行于包括Apache和nginx在内的多种WEB服务器和模式,支持Mysql数据库,引擎用InnoDB。框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。 CRMEB底层运行的内存消耗极低,而本身的文件大小也是轻量级的,因此不会出现 空间和内存占用的瓶颈。
方法一(推荐):安装的时候,在地址栏直接改step=3,跳过这一步即可安装成功。 方法二:打开安装包 /install/install.php 第50行
webman是一款基于workerman开发的高性能HTTP服务框架。webman用于替代传统的php-fpm架构,提供超高性能可扩展的HTTP服务。你可以用webman开发网站,也可以开发HTTP接口或者微服务。
宝塔面板支持快速创建管理web项目, 并且支持多种系统安装, 安装方式请参考宝塔官网
PHPInfo()函数信息泄露漏洞常发生在一些默认安装的应用程序,比如phpStudy、XAMPP。默认安装完成后,没有及时删除这些提供环境测试的文件,比较常见的为phpinfo.php、php-info.php、1.php、test.php、info.php等。PHPInfo页面包含了大量的关于PHP的当前状态环境信息、PHP的编译选项和扩展、操作系统版本信息、服务器系统变量信息、Web应用物理路径信息等等,利用这些信息配合其他漏洞可能导致网站被渗透或者系统提权等危害。
如图:单图上传为灰色,多图上传提示 后端配置项没有正常加载,上传插件不能正常使用!
本文将介绍如何利用Lighthouse搭建个人常用软件下载小工具箱、如何更方便、安全地访问他们。
在架设网站的时候,有可能会使用到composer php扩展。这里呆呆简单教大家如何在llinux系统下的宝塔面板中安装composer php扩展。
众所周知,LEMP堆栈(Linux,nginx,MySQL,PHP)为运行PHP站点提供了无与伦比的速度和可靠性。但是,这种流行的堆栈的其他特性,如安全性和隔离性却不太受欢迎。
FFmpeg安装教程: http://blog.mryxh.cn/258.html
勾股CMS,让WEB开发更简单!Gougu 基于ThinkPHP6 + Layui + MySql的轻量级极速后台开发框架,干净不臃肿、操作简单、开箱即用; 通用型的后台权限管理机制,容易功能定制和二次开发,帮助开发者简单高效降低二次开发成本 完全免费开源,系统易于功能扩展,代码维护,非常容易定制和二次开发。
过去,你可能需要在服务器上为每一个调度任务去创建 Cron 条目。因为这些任务的调度不是通过代码控制的,你要查看或新增任务调度都需要通过 SSH 远程登录到服务器上去操作,所以这种方式很快会让人变得痛苦不堪。
最近业务有所增长,随之而来的是慢请求逐渐多了起来,在搜索php性能优化的过程中发现了opcache,相关的文章很多,但是都比较零碎,所以在此做个总结。公司当前使用的PHP版本为php7.x.x。
最近在一个基于 Web 的 IM 项目中,我采用异步向服务器发起请求拉取最新的聊天内容,服务器端通过 PHP 处理拉取请求,拉取过程是用 10 次循环查询数据库是否有最新的聊天内容。如发现新内容,则立即向浏览器输出,并结束掉本次请求的进程。在这 10 次的循环中,每次查询数据库后,均通过 Sleep 函数让进程暂停 1 秒,那么这个 PHP 进程可能会在服务器端保持 10 秒。
首先来看一下最简单的客户端校验,文件上传是文件从本地到传输到远程服务器,中间经过了三个步骤,在你的客户端(自己电脑)本身做一个文件检测,或者文件传到后端服务器之后,在后端服务器上对文件做检测,简单的就是客户端校验JavaScript校验。文件是在网页做上传,所以javascript就会在你的浏览器上运行。这里有一些js代码及注释,方便大家对文件作出判断:
拿到webshell之后,通过phpinfo看到disable_functions配置限制的函数,且目录权限受到open_basedir的限制,能执行系统命令的函数都被禁用,常规蚁剑提供的绕过方式也都被封锁,但是从phpinfo文件里发现系统上运行着FPM/FastCGI和nginx。
简单安全防护 一、服务器防护 1. 端口防护 尽量将端口禁用,尽量不要将端口暴露在公网,尽量仅供127.0.0.1访问 如非必要,尽量不要将服务暴露在公网,尤其是数据库等服务 设置连续登录失败禁用一段时间,防爆破 2. 网站防护 攻击者一般直接使用ip来攻击网站,可以将ip访问的默认网站只写一个首页 上述不利于搜索引擎收录,可以将搜索引擎的域名加入白名单使用Nginx转发 避免Js操作cookie,开启HTTP_ONLY 3. web容器配置 Nginx提供限制访问模块,防护CC与DD
Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但为什么禁用Cookie就不能得到Session呢?因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,也就得不到Session了。 是不是Cookie让禁用了,Session就一定不能用了呢?答案是否定的,即使cookie禁
手头有很多个项目在同时运作维护,核心的框架也不断在升级和修复。 刚开始的时候项目很少,基本上就是通过sublimetext的SFTP直接手动上传,现在随着需要维护的项目增多,每次做更新和上传的时候都会出现版本间的不同步,部署的繁琐,不能做到增量更新,更新效率比较差。
领取专属 10元无门槛券
手把手带您无忧上云