簡體   English   中英

僅從互聯網登錄網頁

[英]login on webpage only from the internet

首先,對不起,如果我的問題很愚蠢,或者我使用了錯誤的術語,但是我對Web編程完全陌生。

因此,我在樹莓派上制作了一個Apache服務器,網頁上的幾個按鈕可以控制房間的燈光。 我可以使用我的公用IP 188.75.xxx.xxx通過家庭網絡ip 192.168.xxx.xxx和從Internet訪問它。 (只是要清楚-raspi已連接到我的路由器,並且在路由器中我將端口80轉發到了它)

我想制作一些基本的登錄表單,但是僅當我通過188.75.xxx.xxx IP連接時。 而且,如果我正在連接192.168.xxx.xxx ,則不會顯示該表格。

有什么辦法可以做到這一點? 謝謝亞當·N

執行腳本后,請在向用戶顯示任何內容之前檢查IP地址。 在此處閱讀有關程序。 一旦有了IP地址,就可以解析它並查看前兩個組。 嘗試像這樣做。 然后比較數字並決定授予或拒絕訪問該頁面的權限。 在這里,您可以閱讀有關PHP登錄表單的信息。 用偽代碼,看起來像這樣:

// this is pseudo code, don't try to run it - it will not work
$ip = get_ip();
$groups = parse_ip($ip);
if ( is_home_network($groups) )
{
    grant_permissions();
}
else
{
    request_login();
}

您可以將PHP filter_var函數與驗證過濾器FILTER_VALIDATE_IP和標志過濾器FILTER_FLAG_NO_PRIV_RANGE

代碼示例:

if ( filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE) )
{
    // is not a local ip address
}

希望我能為您服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM