Использование Delphi для блокировки сайтов - PullRequest
0 голосов
/ 05 сентября 2010

Я программирую программу запуска своих местных школ, которая позволяет учащимся выходить в Интернет по случайно сгенерированному ключу, предоставленному учителем. Это делается путем замены прокси в Internet Explorer на тот, который необходим для интернета и фильтра wb.

Поскольку школьный веб-сайт и учебные ресурсы постепенно переходят на внешний хостинг, для доступа учащихся к ним необходим интернет-ключ. Школа хотела бы, чтобы эти веб-сайты были включены, не блокируя остальную часть Интернета, если только интернет-ключ не предоставлен учащемуся.

Два способа, которые я придумаю, делая это с помощью Google, - это блокировать все сайты в IE Content Adviser, кроме тех, которые разрешены без ключа. Или создать другой прокси-сервер в Delphi, на который может указывать программа, то есть указывать на него, и пропускает только определенные веб-сайты к реальному прокси.

Я достаточно свободно владею простыми функциями Delphi с уровнем вычислений, но не знаю, с чего начать, и буду признателен за любую помощь.

Ответы [ 3 ]

5 голосов
/ 05 сентября 2010

Не проходите путь самоделки - используйте прокси с функциями черного и белого списков, вы также можете настроить «прозрачный прокси», через который маршрутизируется весь интернет-трафик, и не требует настройки прокси в браузерах.Вы также можете использовать прокси-аутентификацию для настройки того, кто к чему имеет доступ.В Delphi вы в конечном итоге напишите прокси с теми же функциями.Если у вас нет очень хороших основателей для написания собственного прокси-сервера, лучше воспользоваться уже существующими решениями, которые также уже протестированы многими пользователями.Есть коммерческие и открытые / бесплатные.


Если вам действительно нравится писать прокси в Delphi:

  • Хорошее знание того, как TCP, HTTP (S),и прокси-сервер работает.
  • Приложение должно быть сервисом и должно быть надежным, или доступ к Интернету может стать невозможным.
  • Приложение должно обслуживать параллельные запросы, тем самымон должен быть многопоточным (Indy предлагает базовый HTTP-прокси-компонент - насколько хорошо он масштабируется, я не знаю, и он реализует только основные функции).
  • Если вам нужна аутентификация, знание методов аутентификации и встроенная аутентификациянужно, как работает аутентификация Windows.
    • Он должен быть протестирован со всеми используемыми типами браузеров.

Хотя очень интересное приложение, чтобы написать с нуля, если вы любите узнать обо всем этом,если у вас есть «деловая потребность», лучше использовать уже существующую.

0 голосов
/ 07 сентября 2010

OpenDNS - лучшее место для начала. Поднимите это, настройте все ПК на его использование, и это решит большинство ваших проблем

0 голосов
/ 05 сентября 2010

+ 1, и прокси-сервер может кэшировать некоторые интернет-ресурсы, поэтому использование такого инструмента в целом будет более плавным.

Я бы порекомендовал использовать linux box (некоторые старые ПК могут быть переделаны в это) с Squid, просто чтобы отделить сеть ваших учеников от интернета. В Интернете много информации об этом, а также о специальных дистрибутивах linux: во многих школах по всему миру была такая же проблема!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...