0

我正在尝试将HTTP_HOST与我失败的域名进行比较。为了找出造成这种情况的原因,我试图打印它的长度。令我惊讶的是,它输出了我实际域名的长度(尽管我使用的是网络代理)。

使用I 将收到与此输出strlen中相同的长度(仅显示必要的内容):var_dump()

["HTTP_HOST"]=>
string(12) "mydomain.com.s48.wbprx.com"
["SERVER_NAME"]=>
string(12) "mydomain.com.s48.wbprx.com"

我的原始域被替换为 mydomain.com,包括字符串的长度。

我很震惊,为什么我可以使用 echo 打印字符串并看到它的整体,但没有得到字符串的长度?即使我这样做str_replace('.','', $str)了,它也会归还我"mydomaincom"

如果有任何帮助,我的网站还使用以下 htaccess 代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# Removes .php
RewriteCond $1 !\.(gif|jpe?g|png|bmp)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L]
</IfModule>

我试过 .php 和没有。结果相同。

这个结果是使用产生的:https ://incloak.com/

我的 PHP 版本是5.3.14如果那会有什么不同的话。

4

1 回答 1

0

看起来 PHP 存储的字符串的内部长度设置为 12,但实际字符串要长得多(并且可能以 null 结尾)。这可能是潜在的攻击吗?

于 2013-10-01T17:29:59.803 回答