FAQ Степан Ильин aka Step Хакер, номер #077, стр. 077-136-4 Импортируемую подпрограмму нужно описать. Для этого в случае статической загрузки DLL во время описания процедуры или функции применяется специальный модификатор external. Он помещается в объявление функции или процедуры, а также указывает имя импортируемой библиотеки. На практике это выглядит следующим образом: procedure HelloWorld (AForm : TForm); external mydll.dll'. После такого описания вызвать процедуру можно вполне обычным способом: HelloWorld(self). Q: С недавних пор мой компьютер начал часто зависать и самопроизвольно перезагружаться. В службе поддержки мне любезно подсказали, что проблема, скорее всего, в битой оперативной памяти. Отсюда вопрос: можно ли каким-нибудь способом исключить появившиеся битые блоки оперативы и тем самым нормализовать работу системы? Я использую Linux Mandrake. A: Вариант первый — наложить на ядро специальный патч BadMEM (badmem.sourceforge.net). Операция несложная, но чтобы избежать возможных проблем, рекомендую прочитать доступные на сайте мануалы и HOW-TO. Этот способ универсальный и поможет в большинстве случае. Возможен и другой вариант, но он подойдет, только если битые участки находятся ближе к концу области памяти, что можно определить с помощью утилиты для диагностики ОЗУ — memtest86 (www.memtest86.com). Если в результате проверки выяснилось, что так оно и есть, то можно поступить следующим образом: во время загрузки системы даем указание ядру, чтобы оно использовало не весь доступный объем памяти, а только до области поврежденных секторов. Объясняю на примере. Если в твоем компьютере 512 Мб и битые блоки начинаются с 397 Мб, то загрузчику нужно передать команду Mem=397. Для этого в lilo.conf необходимо поместить следующую сточку: append="mem=387M". Q: Какой бы Linux я ни устанавливал, всегда получается, что частота экранной развертки в консоли равна 60 Гц. По понятным причинам меня это не устраивает. Расскажи, пожалуйста, как это можно исправить? A: Там, где эта проблема до сих пор присутствует, чаще всего достаточно пересобрать ядро и наложить соответствующий патч (www.linuxsos.desk.pl/vesafb.html). Заплатка поднимет частоту до приемлемых 100 Гц. Q: Мне нужно заблокировать доступ к некоторым папкам веб-сайта по маске IP-адресов. Подскажи, пожалуйста, как это можно реализовать с минимумом усилий. A: Разумеется, с помощью файла .htaccess. С его помощью можно быстро блокировать или, напротив, разрешать доступ как определенным IP-адресам, так и целым диапазонам. Все, что от тебя требуется, — создать в требуемой папке текстовый файл .htaccess следующего содержания: Order deny,allow Deny from all Allow from 62.148.3.4 Allow from 62.148.10 Строка «Order deny,allow» определяет, в какой последовательности выполняются запрещающие (deny) и разрешающие (allow) условия. Команда «Deny from all» (читай: «запретить всем») полностью блокирует доступ к папке независимо от IP-адреса посетителя. Следующее правило — Allow from 62.148.3.4 — разрешает подключение с одного единственного IP-адреса. А последняя строка открывает доступ для всех клиентов с адресами, начинающимися с 62.148.10. |