PHP通过防火墙显示不同

时间:2016-12-14 01:05:54

标签: php html firewall

我正在我的个人网站上玩一些PHP和MySQL。在家里,一切都很好。但是,在工作中,如果PHP代码使用GD来操作图像,则页面上不会显示任何内容。如果它只是显示HTML,它会显示HTML标记以及文本,而不会对其进行格式化。即使已经显示了所有信息,也需要很长时间才能完成忙碌。

在我工作防火墙上,这显然是一个安全设置,但我知道我可以访问的PHP站点没有这个问题。 PHP中是否有一个我没有设置的设置可能导致这种情况?对任何人来说,这听起来都很熟悉吗?

我使用的代码示例之一是

<?php

echo '<HTML><HEAD></HEAD><BODY>';

//For loop to loop through this 100 times
for ($x = 1; $x <= 100; $x++) {
//Generate three random R, G, and B integers for an RGB value using mt_rand()
$r = mt_rand(0, 255);
$g = mt_rand(0, 255);
$b = mt_rand(0, 255);

//Turn them into a hex code:
$hexCode = dechex( (($r & 0xFF) << 16) | (($g & 0xFF) << 8) | ($b & 0xFF));
echo 'RED: ' . $r . ' GRN: ' . $g . ' BLU: ' . $b . '<BR>Hex Code: '. $hexCode . '<BR><BR>';
// End Bracket for the For loop
}
echo '</BODY></HTML>';
?>

正如你所看到的,没有什么太花哨的。

我试图在Firefox,Chrome和IE中打开此页面,它只会失败&#39;工作中。在这种情况下,它通过显示一些数字(根本没有在代码中回显)而失败,然后HTML可见的页面不被视为标记。

snippet of HTML output

有人知道如何让我的简单测试页面显示在我的工作电脑上吗?

我正在利用个人开发时间来刷新我对一些PHP概念和MySQL概念的记忆,为即将到来的项目做准备。我想使用我的个人服务器来运行这些测试程序,而不是将我与我的伙伴共享的工作linux盒子弄乱我的个人工作区。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

因此,尝试加载页面时的网站没有SSL证书。我以前不需要一个,但显然已经根据我工作的网络安全调整了一些设置。

但是,由于我以前的方式访问网站,通过HTTP://sitenamehere.etc/pagename.php,没有浏览器显示错误,因为没有SSL而没有专门加载...它只是处理输出时将HTML显示为纯文本而不显示任何图像。

使用浏览器的开发者工具查看网络标签,我可以看到该网站被标记为不安全。生成自签名SSL并从HTTPS://sitenamehere.etc/pagename.php访问该页面最终显示“此网站不安全!”#39;对话框页面,允许我添加例外。

感谢Michael Berkowski让我完成了导致此解决方案的这些问题排查步骤。希望这有助于其他人在远程访问时学习PHP。