Tag: PHP

查询已安装的 MySQL / MariaDB 版本

由于各个 MySQL 的版本都略有不同,而且又有 MaridDB 或 Percona 等分支版本, 很多时系统管理员都需要查询系统内的 MySQL 版本,要查询系统内的 MySQL 版本,以下列出几种查询 MySQL 版本的方法。 CLI 在 CLI 查询 MySQL 版本十分简单,用 mysql 指令便可以, 而且不用登入 MySQL: $ mysql -V 执行后会输出 MySQL …

查询已安装的 PHP 版本

由于 PHP 各版本的写法都略有不同,很多时都需要查询系统内的 PHP 版本,或者系统管理员也有时会需要检查 PHP 版本,要查询系统内的 PHP,分别可以用 PHP 程式或者 CLI 指令模式完成,以下分别看一看几种不同方法。 CLI 在 CLI 查询 PHP 版本十分简单,用 php 指令便可以: $ php –version 或 $ php-cgi –version 执行后会有类似的输出: PHP …

强制 PHP 显示错误讯息

很多主机基于保安理由, 将 PHP 执行时的错误讯息隐藏, 当 PHP 程式执行时遇到错误, 即使是 run time error 这类错误, 都只会显示空白内容。 原因是在 php.ini 设定了这两行: display_errors = Off error_reporting = Off 上面两个设定, 只要其中其中一个设定成 Off, 都不会显示错误讯息, 这样对于程式除错很麻烦, 要暂时显示 PHP …

禁止个别 VirtualHost 或目录使用 PHP mail() 函式

PHP 的 disable_functions 选项可以停用某些特定的 PHP 函式, 主要是基于安全理由, 将一些对系统有威胁的函式停用, 但 disable_functions 必须透过 php.ini 设定, 因为如果可以在 httpd.conf 或 .htaccess 设定, 使用者便很容易将停用的函式开启。 之前遇到一个情况, 要将个别 VirtualHost 的 mail() 函式停用, 但主机内其他 VirtualHost 仍要继续开启 mail()。虽然 …

PHP 5.4 或以上重现 Register Globals

很久以前的 PHP 默认开启 Register Globals 选项, 这样写程式就很方便, 但这个方便也带来安全性问题, 所以后来 PHP 默认会将 Register Globals 关闭, 对于一些要开启 Register Globals 的程式, 在不修改程式码的情况下, 还可以透过修改 php.ini 或 .htaccess 的方法解决。 但在 PHP 5.4 开始, PHP …

解决 WordPress 的 xmlrpc.php DDOS 攻击

XML-RPC 是 WordPress 的 API, 给开发者开发手机 Apps, 桌面应用程式或其他服务时, 可以跟 WordPress 沟通, 从远端能达到很多需要登入 WordPress 后台才能做的工作。xmlrpc.php 则是负责这个 API 的档案, 而很多针对 WordPress 的 DDOS 攻击也是针对这个档案。 早前在一台 VPS 上面, MySQL 的使用资源很高, 停止 Apache …