2014-02-24 16 views
0

本地主機網頁不應該顯示HTML,因爲在使用die()殺死頁面。Php和HTML和die()進行測試。頁面不死()

我可以繼續不分揀,但我真的好奇。 當我搜索這個論壇時,出現了很多非常好的信息。

根據這個我下面的教程, 頁面應該死(),而不是顯示的話歡迎 但它在本地主機確實顯示歡迎/我的網站/

Index.php 

<?php 
require 'conf.inc.php'; 

foreach($ip_blocked as $ip){ 
    if ($ip==$ip_address){ 
     die(); 
} 
} 
?> 

<h1> welcome</h1> 


conf.inc.php 

<?php 

$ip_address = $_SERVER['REMOTE_ADDR']; 
$ip_blocked = array('127,0,0,1', '100,100,100,100'); 
?> 
+1

這是因爲你的if條件爲false,'$ ip'不等於'$ ip_address'。檢查一下。 –

回答

1

變化

$ip_blocked = array('127,0,0,1', '100,100,100,100'); 

$ip_blocked = array('127.0.0.1', '100.100.100.100'); 

。而不是,

1
$ip_blocked = array('127,0,0,1', '100,100,100,100'); 

應該

$ip_blocked = array('127.0.0.1', '100.100.100.100'); 

注意點!

另外,你不應該比較字符串與IP。根據範圍考慮IP,如果您使用IP地址爲192.168.*.*的網絡,則針對private IP addresses進行檢查。

ip2long()應該被考慮在內。數字比字符串更快,並且與範圍比較(在之間)友好。

+0

謝謝。你們很快!我只是去編輯這段代碼。使用平板電腦並從Mac上閱讀。仍然得到'歡迎' – iHaveAQuestion

+0

@iHaveAQuestion'vardump()''$ ip_address'和'$ ip_blocked'並告訴我你看到了什麼。 – CodeAngry

+0

$ ip_address = $ _SERVER ['REMOTE_ADDR']; $ ip_blocked = array('100.100.100.100'); var_dump($ ip_blocked); var_dump($ ip_address); – iHaveAQuestion