IIS InstallationThe column introduces how to use the IIS API to disable IP access
Free recommendations: IIS installation
This class is a simple package based on Microsoft.Web.Administration
:
PS: Microsoft.Web.Administration
Can be searched and installed through Nuget
.
public?class?IISAdministration { ????private?readonly?ServerManager?serverManager; ????public?IISAdministration() ????{ ????????serverManager?=?new?ServerManager(); ????} ????public?IEnumerable<WorkerProcess>?GetWorkerProcesses() ????{ ????????return?serverManager.WorkerProcesses; ????} ????public?IEnumerable<string>?GetSiteNames() ????{ ????????foreach?(var?item?in?GetWorkerProcesses()) ????????{ ????????????yield?return?item.AppPoolName; ????????} ????} ????public?ConfigurationElementCollection?GetIpSecurityCollection(string?site) ????{ ????????return?GetConfigurationElementCollection("system.webServer/security/ipSecurity",?site); ????} ????public?ConfigurationElementCollection?GetConfigurationElementCollection(string?sectionName,?string?site?=?"") ????{ ????????var?config?=?serverManager.GetApplicationHostConfiguration(); ????????ConfigurationSection?section; ????????if?(string.IsNullOrWhiteSpace(site)) ????????{ ????????????section?=?config.GetSection(sectionName); ????????} ????????else ????????{ ????????????section?=?config.GetSection(sectionName,?site); ????????} ????????return?section.GetCollection(); ????} ????public?void?CreateElement(ConfigurationElementCollection?section,?ConfigurationElement?element) ????{ ????????section.Add(element); ????????serverManager.CommitChanges(); ????} ????public?void?RemoveElement(ConfigurationElementCollection?section,?ConfigurationElement?element) ????{ ????????section.Remove(element); ????????serverManager.CommitChanges(); ????} ????public?bool?HasBlocked(string?siteName,?string?ip) ????{ ????????var?ipSecurityCollection?=?this.GetIpSecurityCollection(siteName); ????????for?(int?i?=?0;?i?<?ipSecurityCollection.Count;?i++) ????????{ ????????????var?element?=?ipSecurityCollection[i]; ????????????if?((string)element["ipAddress"]?==?ip) ????????????{ ????????????????return?true; ????????????} ????????} ????????return?false; ????} ????public?void?FreeIP(string?siteName,?string?ip) ????{ ????????if?(!HasBlocked(siteName,?ip)) ????????{ ????????????return; ????????} ????????var?ipSecurityCollection?=?this.GetIpSecurityCollection(siteName); ????????for?(int?i?=?0;?i?<?ipSecurityCollection.Count;?i++) ????????{ ????????????var?element?=?ipSecurityCollection[i]; ????????????if?((string)element["ipAddress"]?==?ip) ????????????{ ????????????????this.RemoveElement(ipSecurityCollection,?element); ????????????????break; ????????????} ????????} ????} ????public?void?BlockIP(string?siteName,?string?ip) ????{ ????????if?(HasBlocked(siteName,?ip)) ????????{ ????????????return; ????????} ????????var?ipSecurityCollection?=?this.GetIpSecurityCollection(siteName); ????????var?element?=?ipSecurityCollection.CreateElement("add"); ????????element["ipAddress"]?=?ip; ????????element["allowed"]?=?false; ????????ipSecurityCollection.Add(element); ????????serverManager.CommitChanges(); ????} }
Usage:
var?iisAdministration?=?new?IISAdministration(); iisAdministration.BlockIP("",?"192.0.0.1");
Note:
-
BlockIP
The first parameter is the site name. If it is an empty string, it will be used directly. Add to the IP mask under the root path ofIIS
. - This method will throw an exception and requires administrator privileges to execute.
The above is the detailed content of How to disable IP access using IIS API. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Converting an HTML file to a URL requires a web server, which involves the following steps: Obtain a web server. Set up a web server. Upload HTML file. Create a domain name. Route the request.

To open an application pool in IIS: 1. Open IIS Manager; 2. Navigate to the "Application Pools" node; 3. Right-click the target application pool and select "Manage"; 4. Click "Advanced Settings" Tab; 5. Application pool configuration can be viewed and modified here.

Yes, it is possible to delete IIS log files. Removal methods include selecting the website or application pool through IIS Manager and deleting the log file in the Log Files tab. Use a command prompt to go to the log file storage directory (usually %SystemRoot%\System32\LogFiles\W3SVC1) and use the del command to delete the log file. Use third-party tools such as Log Parser to automatically delete log files.

To set up the IIS protocol, follow these steps: Open IIS Manager, select the website. In the Actions panel, click Bind. Add the protocol to use (HTTP or HTTPS), specify the IP address and port. For HTTPS, configure the SSL certificate, select the certificate type and certificate. Save the changes and test the binding.

The IIS Application Pool Setup Guide provides detailed instructions for configuring application pools directly in IIS Manager: application name, mode, launch type managed mode, authentication, loading user profile 32-bit application enablement, recycling frequency and reason Application path, hosting mode, initial memory allocation virtual directory, initialization module, fault isolation mode

Author | Editor Chen Xupeng | ScienceAI Aphasia due to defects in the nervous system can lead to serious life disabilities, and it may limit people's professional and social lives. In recent years, the rapid development of deep learning and brain-computer interface (BCI) technology has provided the feasibility of developing neurospeech prostheses that can help aphasic people communicate. However, speech decoding of neural signals faces challenges. Recently, researchers from VideoLab and FlinkerLab at the University of Jordan have developed a new type of differentiable speech synthesizer that can use a lightweight convolutional neural network to encode speech into a series of interpretable speech parameters (such as pitch, loudness, formant frequency, etc.), and synthesize these parameters into speech through a differentiable neural network. this synthesizer

IIS logs are typically stored in the following locations: Windows Server 2008 and above: %SystemDrive%\inetpub\logs\LogFilesWindows Server 2003: %SystemDrive%\Documents and Settings\All Users\Application Data\Microsoft\IIS\LogFiles

C++ function naming convention follows camel case naming or Pascal naming. It is recommended to use descriptive, concise function names that avoid abbreviations and special characters. Overloaded functions can be distinguished by differentiating parameters, using suffixes, or namespaces. Function naming conventions that have single-letter names, are ambiguous, are overly specific, or contain special characters should be avoided.
