Если Вы хотите создать сайт хостинга файлов, который имеет предел как это, я был бы вещь Вы нуждаться в определенном Сценарии PHP для обслуживания файлов для загрузки, как incrediman говорит. Если Вы не слишком плохо знакомы с PHP и веб-разработкой, я поощряю Вас проверять эту статью также: http://onlamp.com/pub/a/php/2000/09/15/php_mysql.html
В конце центральная идея, однако, состоит в том, что конечные пользователи всегда посещали бы тот же сценарий (скажем, Вы назвали его 'download.php'), и Вы будете использовать что-то как строка запроса для динамичного выбора, какое содержание подается. Таким образом для загрузки подобного файлу 'lenna.jpg' они посетили бы URL, подобный "www.yoursite.ex/download.php?file=lenna.jpg".
С тех пор в выполнении этого, Вы централизуете загрузку в одном месте/сценарии (это называют Шаблоном/Принципом Эксперта по информации), у Вас также есть центральное место для входа, сколько пользователь загрузил во время их сессии (PHP создал в поддержке упрощенной информации о сессии... видят http://php.net/manual/en/features.sessions.php), и центральное место для блокирования их, после того как они загрузили достаточно.
Используйте редактор конфигурации, чтобы просмотреть, как структурирован список заблокированных IP-адресов на хосте приложения. config (проще всего ввести его в графическом интерфейсе пользователя, затем просмотреть файл, чтобы проработать раздел, а затем работать в обратном направлении), затем добавьте его с помощью редактора конфигурации и вместо нажатия «Применить» нажмите «Создать сценарий».
Это покажет вам три программных способа добавления IP-адреса в черный список - Javascript, MWA и AppCMD. Выберите то, что вам удобнее всего, а затем запишите его.
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using(ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection ipSecuritySection =
config.GetSection("system.webServer/security/ipSecurity");
ConfigurationElementCollection ipSecurityCollection =
ipSecuritySection.GetCollection();
ConfigurationElement addElem = ipSecurityCollection.CreateElement("add");
addElem["ipAddress"] = @"1.10.0.0";
addElem["subnetMask"] = @"255.255.248.0";
ipSecurityCollection.Add(addElem);
ConfigurationElement addElem1 = ipSecurityCollection.CreateElement("add");
addElem1["ipAddress"] = @"1.10.8.0";
addElem1["subnetMask"] = @"255.255.252.0";
ipSecurityCollection.Add(addElem1);
serverManager.CommitChanges();
}
}
}