2014-10-15 5 views
0

Я получаю несколько сообщений об ошибках о попытках взлома, которые пытаются получить доступ к определенному файлу (который я не использую). Я обычно блокирую IP-адрес вручную, используя «Ограничения IP-адреса и доменных имен» в IIS6. Можно ли добавить запись в этот список со страницы ASP? Таким образом, я мог бы установить страницу так, чтобы она автоматически блокировала IP-адрес того, кто пытается получить к нему доступ, то есть хакеров. Я мог бы просто удалить файл, но я бы хотел остановить их от попытки чего-то другого, что бы не исчезло.Обновление IIS6 «Ограничения IP-адреса и доменных имен» на веб-странице ASP

Спасибо!

+0

Просто глядя на некоторые другие должности, вы включены, это определенно [тег: осина-классика], или его [тег: asp.net]? – Paul

+0

@Paul yes, потому что файл, к которому они пытаются получить доступ, - io.asp. Я хочу заменить его одной версией, которая блокирует их. – Osprey

+0

Поскольку я не мог получить ответ, у меня есть другой подход, для которого я задал отдельный вопрос. – Osprey

ответ

0

Это будет делать трюк:

<% 
' create an array with a list of ip addresses you want blocked: 
blocked=Array("127.0.0.1","::1","192.168.1.1","192.168.1.2","192.168.1.3") 
' filter the array, using the ip address of the current visitor: 
result=Filter(blocked, Request.Servervariables("REMOTE_ADDR")) 
' if the users address is in the list, response.end will block the visitor 
if UBound(result) > 0 Then Response.end 
%> 

Примечание Это классический жерех, не asp.net, в соответствии с вашим тегом.

EDIT:

Как отметил Кул-Тегин; функция фильтра не будет работать. Мы могли бы изменить подход к простой для петли:

dim i, current_address, blacklist 
blacklist=Array("127.0.0.1","::1","192.168.1.1","192.168.1.2","192.168.1.3") 
current_address = Request.Servervariables("REMOTE_ADDR") 
for i = Lbound(blacklist) to Ubound(blacklist) 
    if current_address = blacklist(i) then response.end 
next 'i 

Erik

+0

Извините, но это не отвечает на мой вопрос. Все, что он делает, это остановить загрузку страницы, если IP-адрес находится в предварительно определенном списке. Я хочу добавить IP-адрес того, кто пытается получить доступ к определенному файлу, в список заблокированных IP-адресов в IIS6. Я мог бы добавить его в базу данных и использовать ваш подход, но я хочу этого избежать, потому что я не хочу запрашивать базу данных для каждой загрузки страницы на каждой странице. Я хочу заблокировать IP-адрес от всего сайта. И я представляю его классическим ASP, потому что целевой файл является ASP-файлом (хотя я мог бы перенаправить на .net-файл). – Osprey

+1

А, моя ошибка, я неправильно понял. IIS6 представляется сценарием http://stackoverflow.com/questions/13163534/how-can-you-set-iis6-settings-via-the-command-line, но вам придется выполнить этот скрипт с пользователем, который имеет достаточно прав для этого. Другими словами, вам придется запускать пользователя ASP IIS с большим количеством прав, что может представлять угрозу для безопасности ... –

+1

@RicoSuave Это должно быть 'if UBound (result)> -1 Then', но дело не в этом, есть еще одна большая проблема с вашим кодом. Вы не должны использовать «Фильтр» для таких целей. Потому что он работает как оператор 'StartsWith', поэтому он не подходит для этого. Если 'blocked' содержит' 192.168.1.101', '192.168.1.10' также будет запрещен. –

 Смежные вопросы

  • Нет связанных вопросов^_^