> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IP 禁止系統

> 從 Game Manager 或 Services SDK 建立單一位址或 CIDR 範圍的 IP 禁止，並設定永久或定時到期，以封鎖可疑的 PlayFab 登入。

IP 禁止功能可讓您限制來自指定 IP 位址或範圍的遊戲存取。套用 IP 禁止後，未來從該 IP 位址或禁止範圍內進行的驗證嘗試都會遭到拒絕。IP 禁止可以是永久的，也可以是具有指定到期日的暫時禁止，並可套用至單一 IP 位址或以 CIDR 標記法表示的 IP 範圍。IP 禁止的範圍限定於單一遊戲，不適用於您[命名空間](/zh-TW/services/playfab/live-service-management/game-configuration/entities)中的任何其他遊戲。

下列教學課程示範如何使用 PlayFab API 和 Game Manager 來使用 IP 禁止系統。

## 識別

您可以透過 PlayStream Monitor 識別要禁止的 IP 位址。如果您發現可疑的登入活動，請找到 **Player logged in** 事件，並選取 **JSON** 資料行中的大括號以檢視其詳細資料。從 **"IPV4Address"** 欄位複製位址。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/player-progression/player-data/tutorials/game-manager-ipbans-suspicious-login-event.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=8cc7a5e0fd83557e26642cf5c762c03b" alt="Game Manager - IP 禁止 - 可疑的登入事件" width="1370" height="673" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-ipbans-suspicious-login-event.png" />

<Note>
  如果您的遊戲在 **Settings > Data Collection** 中停用了 "Store full user IP addresses"，IP 位址的最後一個八位元會被模糊處理。
</Note>

## 套用禁止

如果您認為有必要，可以建立 IP 禁止。有兩種方式可以建立禁止：透過 Game Manager 手動建立，或透過 [Services SDK](/zh-TW/services/playfab/sdks/playfab-sdk-intro) 以程式設計方式建立。

<Note>
  一個遊戲最多可以為 200 個 IP 位址或範圍建立 IP 禁止。
</Note>

### 從 Game Manager 建立 IP 禁止

您的社群管理員可能想要使用 Game Manager 套用禁止。

1. 瀏覽至 IP Bans 區段。
2. 選取 **New IP Ban** 以顯示 **New IP Ban** 表單。
3. 貼上您要禁止的 IP 位址，或輸入您要禁止的 CIDR 範圍。
4. 選取 **Permanent** 進行永久禁止，或為禁止選取到期日期和時間。
5. 選擇性地輸入禁止的原因。
6. 最後，選取 **ADD BAN** 按鈕。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/player-progression/player-data/tutorials/game-manager-ipbans-new-ip-ban.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=42567eb75f0d8ea839a865fc3bac832c" alt="Game Manager - IP 禁止 - 新的 IP 禁止" width="1372" height="685" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-ipbans-new-ip-ban.png" />

如果一切設定正確，您會在表格中看到狀態為 **"Active"** 的新 IP 禁止。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/player-progression/player-data/tutorials/game-manager-ipbans-table.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=21604260c8ec2c76cc13ecc5ab558000" alt="Game Manager - IP 禁止 - 表格" width="1376" height="701" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-ipbans-table.png" />

### 從 Game Manager 管理 IP 禁止

您可以選取 IP 禁止，然後選取 **Disable selected bans** 來手動停用它們。它們的狀態會變更為 **"Disabled"**。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/player-progression/player-data/tutorials/game-manager-ipbans-disable.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=c7fbdc60e6a109011eff1684882b474c" alt="Game Manager - IP 禁止 - 停用" width="1369" height="827" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-ipbans-disable.png" />

您可以選取表格中的 IP 位址欄位來編輯禁止。這會將您帶到 **Edit IP Ban** 表單。在這裡，您可以停用 (或重新啟用) 禁止，以及修改到期日和原因。選取 **Save** 以儲存變更。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/player-progression/player-data/tutorials/game-manager-ipbans-edit.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=c8fa5ea054f8f74b7cddf3297bf714f8" alt="Game Manager - IP 禁止 - 編輯" width="1366" height="692" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-ipbans-edit.png" />

當禁止的到期日過去時，其狀態會變為 **"Expired"**。若要重新啟用禁止，您必須定義新的到期日。只有狀態為 **"Active"** 的 IP 禁止才會阻止登入。

### 從伺服器或服務建立禁止

<Warning>
  由於 IP 禁止的影響範圍廣泛，且可能對玩家造成重大影響，我們建議不要自動或以程式設計方式建立 IP 禁止。
</Warning>

從受信任的伺服器或服務，您可以使用 [Services SDK](/zh-TW/services/playfab/sdks/playfab-sdk-intro) 透過 Admin API 建立 IP 禁止。Admin API 需要您遊戲的開發人員秘密金鑰，且不得從遊戲用戶端呼叫。

```csharp theme={null}
public async Task CreateIPBanAsync(string ipAddress, DateTime expirationDate)
{
    var response = await PlayFabAdminAPI.CreateIPBanAsync(
        new CreateIPBanRequest
        {
            IPAddress = ipAddress,
            Expires = expirationDate.ToUniversalTime(),
            Reason = "Automatic IP ban"
        });

    if (response.Error != null)
    {
        Debug.LogError(response.Error.GenerateErrorReport());
        return;
    }

    // Handle response.Result.IPBanData
}
```

透過 API 套用的 IP 禁止也會顯示在 Game Manager 中該遊戲的 IP 禁止表格中。


## Related topics

- [玩家禁止系統](/zh-TW/services/playfab/player-progression/player-data/player-bans.md)
- [設定 XBOX services](/zh-TW/publishing/game-publishing/concepts/xbox-services.md)
- [XtfConsoleFieldId 列舉](/zh-TW/reference/tools/xtf/xtfapi/enums/xtfconsolefieldid-xbox-windows-t.md)
- [服務對服務多人遊戲工作階段管理](/zh-TW/services/xbox-services/fundamentals/s2s-auth-calls/s2s-calls/s2s-call-patterns/live-mpsd-service-to-service.md)
- [主機上的開發人員首頁 (Dev Home)](/zh-TW/tools/tools-console/devhome/devhome.md)
