月度归档:2019年08月

PHP null常量和null字节的区别

在学习isset()时,看到了这句话:“如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”\0″)并不等同于 PHP 的 NULL 常数”。那么问题来了,什么是NULL字节(“\0”)? 它和NULL常数有什么区别呢??

  NULL 字节是变量为空 $t = ”; 变量有值,不过是空,isset()是TRUE
  NULL 常数是$t=null; 变量没有值,没有分配存储空间,isset()是FALSE
测试一下:

$a = '';
    var_dump(isset($a));
    echo "</br>";
    unset($a);
    var_dump($a);
    echo "</br>";
    $b = null;
    var_dump(isset($b));

运行结果如下:
boolean true
null
boolean false

xmlrpc.php防攻击

.htaccess下加入

# protect xmlrpc
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

或模板文件functions.php添加

add_filter('xmlrpc_enabled','__return_false');

location =/xmlrpc.php{
deny all;
}
Control XML-RPC publishing

访问域名/xmlrpc.php由原来的
XML-RPC server accepts POST requests only.
变成403错误
Forbidden
You don’t have permission to access /xmlrpc.php on this server.
kangle 服务器提示
Something error:
403 Forbidden
denied by request access control
ngnix提示:
403 Forbidden
You don’t have permission to access the URL on this server. Sorry for the inconvenience.
Please report this message and include the following information to us.
Thank you very much!

URL: http://www.xxx.com/xmlrpc.php
Server: wanlifu.wang
Date: 2019/08/02 23:09:54