BIOS
- это основа любого персонального компьютера. Стоит разобраться, как
работает эта система! С помощью книги, которую вы держите в руках,
легко заставить компьютер работать быстрее и надежнее, не вложив в него
ни копейки. Даже новичок сможет разогнать процессор и другие внутренние
устройства, настроить их, устранить ошибки в работе системы. В
некоторых случаях (например, при использовании устаревшего
оборудования) без знания BIOS вообще не обойтись. Судя по объемам
продаж первого издания, эта книга пришлась по вкусу очень многим - и
профессионалам, и начинающим пользователям. Второе издание дополнено
самой свежей и полной информацией о новейших версиях BIOS.
Автор книги: В. Белунцов Язык книги: Русский Формат книги: pdf 3% на восстановление Пароль- simsim [
· Скачать удаленно ()
]
Для начала давай разбёремся в том, что же такое batch'и. Прежде всего - это пакетные дос файлы, которые содержат в себе в ascii виде набор досовских команд. По-русски говоря, bat файл содержит в себе скрипт, интерпритатором служит command.com. Поясняю: после прочтения этой статьи, ты сможешь писать проги, которые удаляют системные файлы, форматируют диски и тд. Главное, тебе для этого понадобится только блокнот и прямые руки, никаких компиляторов и дебагеров не требуется (бачи не такие примитивные, как тебе кажется - есть вирусы\генераторы, на них написанные). И ещё. Я не буду описывать все возможные флаги(параметры) каждой команды, только наиболее полезные. Ну чё, готов? Поехали!
Мы все любим писать серьезные вещи на серьезных языках. Шаблоны, C++, Reflection, Perl и многое другое – вот то, что мы любим, то, чему посвящаем длинные сообщения в форумах, то, что снится нам по ночам.
Однако в нашей повседневной деятельности встречаются и вещи, которые не так интересны и интеллектуальны. Мы не очень любим говорить об этом, делаем вид, что Это – грязно, нечистоплотно и недостойно нашего внимания. Однако, приходит день, приходит час и перст Судьбы находит нас – нам надо написать еще один батничек… Иногда это запускалка для построения проекта, которая должна при ошибке компиляции скопировать логи на сетевой диск, иногда – запуск обновления исходных текстов из SVN. Иногда – что-нибудь еще.
К чему я это все? А к тому, что поговорим мы о полезных хитростях при написании файлов сценариев на встроенном командном языке Windows. К счастью, это занятие не является доминирующим в профессиональной деятельности автора, так что я не обязуюсь заполнить абсолютно все пробелы в данной области. Кроме того, рожденный ползать летать не может, и из cmd.exe, увы, не получится ни /usr/bin/perl, ни даже /bin/sh. Так что, все нижеприведенное – просто некоторые интересные факты из жизни файлов с расширением bat, на которые автор обратил внимание во время решения различных практических задач автоматизации.
Наш урок будет построен по сугубо практическому принципу, известному в народе как Cookbook. Иными словами, я не буду вдаваться в синтаксические и семантические дебри командного языка Windows, а лишь продемонстрирую его возможности (хотел написать «мощь», но все-таки передумал). Именно поэтому большинство следующих заголовков будет начинаться со слова «Как». Впрочем, для полноты по ходу развития событий будут даваться подробные комментарии, в том числе и по языковым конструкциям.
Многие думают, что вирусов в скрин-сейверах быть не может. Это не совсем так. Ведь скрин-сейвер - обычная программа с расширением *.scr. А доказательством этого есть следующий пример: И так, запускай Delphi, дави крысой File>New>Application.Далее делаем так, чтобы нашу форму никто не мог «перекрыть». Для этого для свойства формы FormStyle устанавливаем значение равное “fsStayOnTop” (без кавычек соответственно). Для свойства “Color” (всё той же формы) устанавливаем значение “clBlack”, для свойства “BorderStyle” значение bsNone и для свойства “WindowState” устанавливаем значени равное “wsMaximized”. (*Все выше указанные действия можно было сделать или в инспекторе объектов или программно. Я это сделаю программно *).
Идем дальше. Теперь нам понадобятся 5 процедур:
1. FormСreate –Скрываем курсор мыши и производим несколько. настроек 2. OnTime –здесь код самой заставки 3. OnMouseMove-отлавливаем движение мыши. 4. FormHide –Показываем Курсор. 5. TimeToExit –Процедура для обработки сообщений.
Если у Вас от чего-то все работает, то очень СТРАННО. Как правило новичку, чтобы запустить скрипт приходится попотеть. Какие же основные проблемы возникают при запуске скрипта ?
Настройки сервера
Первой, но не главной причиной может послужить неправильная настройка сервера. Скорее всего попросту он не имеет права запускать скрипты из этой директории. Я всегда рассматриваю только Web-сервер Apache, поэтому приведу настройки для него. Кстати сегодня в ComputerWorld(8.02.2000) опубликовали результаты исследований RUNet'a. Оказалось, что Apache установлен на 78% всех серверов, веб-сервера от Microsoft - 19%, доля остальных серверов составляет по 1%. Так что я опять говорю, лучше Apache Вы не найдете !!!
Ладно отвлеклись от темы... Все настройки Apache для каждой директории задаются с помощью файла .htaccess. Если такового в вашей директории не имеется, то создавайте его. В него запишите следующее:
Options ExecCGI
Или даже посоветую обратиться к документации, но думаю она не понадобится.
Теперь любые скрипты в этом каталоге будут загружаться без проблем.
Неверные атрибуты на файле скрипта
Если на вашем сервере установлена система подобная Windows, то эта проблема вас не касается, так как все программы *.exe "эта" система загружает без вопросов.
В случае если Ваша система Unix, то вам повезло меньше, особенно если Вы до этого видели только Windows.
В кратце поясню... Во всех системах Unix для каждого файла устанавливаются атрибуты файлов. Этих атрибутов (как правило) девять. Даю список таковых.
Owner Read
Owner Write
Owner Execute
Group Read
Group Write
Group Execute
Other Read
Other Write
Other Execute
Если кратко, то в Unix системах создаются пользователи и разделяются на группы. Вы вот при входе в систему набираете свой логин и пароль, т.е. Вы являетесь пользователем. Также по FTP и т.д. Все кто имеет доступ к системе является ее пользователем.
Атрибуты типа Owner задают параметры для Вас, т.е. для владельца файлов. Атрибуты Group определяют уровень доступа для вашей группы, т.е. если Вы принадлежите к группе Webmasters, то при установке атрибута Group Write любой другой пользователь, который принадлежит к группе Webmasters сможет записывать в этот файл информацию. Думаю для чего Other понятно, это значит всем остальным.
При записывании файла через FTP атрибуты файла устанавливаются по умолчанию
rw.r..r..
Т.е. Вы можете писать и читать, а остальные могут только читать. Как видите ни один атрибут не указывает на то, что файл загружаемый. Вы должны добиться такого:
rwxr.xr.x
Т.е. установить атрибут Execute во всех группах.
Как это сделать это другой вопрос, давайте рассмотрим с вами работу с некоторыми FTP клиентами. Сразу скажу, что не использую никакие Виндовые программы, т.е. графические "проги" рассчитанные на любителей делать все одним кликом мыши...
Я пользуюсь нашим, т.е. российским файловым менеджером FAR, если у вас его нет, то Вы много потеряли... И я вам сочувствую.
Так вот в нем надо нажать Ctrl-A на том файле, который Вы закачали на сервер (только делаете это не на локальном диске, а на FTP, а то увидите вместо атрибутов Unix атрибуты Досовской файловой системы) Делаете следующую картинку:
R W X R W X R W X
[x][x][x] [x][ ][x] [x][ ][x]
И нажимаете Okey. Теперь все классно.
Если у Вас нет FAR, то у Вас ОБЯЗАНА быть программа в системе, которая занимается сервисом FTP. В большинстве систем (и в Винде) такая программа называется ftp. Запустите ее. Наверняка она обладает только командной строкой, так что потейте... :-) Я рассмотрю программу ftp.exe, которая входит в виндовс.
Первое, что надо сделать открыть Ваш сайт, делается это командой open
ftp> open www.mjk.msk.ru
Связь с mjk.
220 mjk-gw.mjk.msk.ru FTP server (Version wu-2.4.2-academ[BETA-18](1)
Mon Aug 3 19:17:20 EDT 1998) ready.
Пользователь (mjk:(none)): dron
331 Password required for dron.
Пароль:
230-Please read the file README.linux
230- it was last modified on Sat Feb 5 16:31:50 2000 - 3 days ago
230 User dron logged in.
ftp>
Теперь Вы в системе. Наберите help для получения основных команд. Попробуйте набрать dir. Пример вывода:
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 48
drwx------ 3 dron mjkusers 1024 Feb 6 16:58 .
drwxr-xr-x 75 root root 2048 Feb 1 00:03 ..
-rw-r--r-- 1 dron mjkusers 1155 Jun 24 1999 .Xdefaults
-rw------- 1 dron mjkusers 24 Jan 8 11:35 .bash_history
-rw-r--r-- 1 dron mjkusers 24 Jun 24 1999 .bash_logout
-rw-r--r-- 1 dron mjkusers 230 Jun 24 1999 .bash_profile
-rw-r--r-- 1 dron mjkusers 124 Jun 24 1999 .bashrc
-rw-r--r-- 3 dron mjkusers 1324 Jan 8 11:32 123.cgi
-rw-r--r-- 1 dron mjkusers 37165 Feb 5 16:31 README.linux
226 Transfer complete.
691 байт получено за 0.33 с (2.09 КБ/с)
Мне например надо теперь установить атрибут загрузки на файл 123.cgi, как видите у него такого атрибута нет. Такую возможность ftp.exe не предоставляет, зато он может посылать команды непосредственно FTP - серверу, т.е. что нам и требуется. Если вы вызывали помощь, то знаете, что такую функцию выполняет команда quote. Чтобы Вам особо не разбираться просто приведу команду.
quote SITE CHMOD 755 123.cgi
Теперь на файле 123.cgi будут установлены необходимые атрибуты. Если Ваш файл располагается в другой директории, то пользуйтесь командой cd (change directory).
Неправильный атрибут на каталоге скрипта
Многие скрипты не только выводят какую-то информацию, но и еще записывают что-то в определенные папки или файлы. Тут надо предусмотреть правильный доступ к этим ресурсам. Любой Web-сервер работает не от вашего имени, а от другого, поэтому запуская скрипт он не предоставляет ему Ваши возможности. Вы должны поставить атрибуты на директорию, в которую записан скрипт, для полного доступа, т.е. для записи всем кому угодно. Для установки таких атрибутов в FAR'е поставьте все крестики. В ftp.exe команда такая
quote SITE CHMOD 777 <директория>
Хочу Вас также предостеречь, делая полный доступ на директорию помните, что любой "злоумышленник" может вам подпортить жизнь, стереть Ваш скрипт и например записать свой, или записывать неправильные данные в ваши файлы. Короче он может делать, что угодно. Особенно опасно делать полный доступ к директории в которой лежит страничка, потому как рано или поздно вы ее там не обнаружите :-(.
Поэтому СОВЕТ. Создавайте специально для скриптов отдельные каталоги и используйте их для записи данных. А лучше всего делать доступ только отдельному файлу (в этом случае маска доступа не 777, а 666 !!!) Причем думаю не плохо было бы позаботиться и о шифровании, т.к. любой скрипт может записывать конфиденциальную информацию, такую как номера кридитных карт, почтовые адреса, имена и фамилии. Любой "спаммер" или "хакер" скажет вам большое спасибо за такой подарок, хотя скорее всего "спасибо" вам скажут "дяди в погонах".
CGI - Common Gateway Interface является стандартом интерфейса, который служит для связи внешней программы с веб-сервером. Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, многие больше любят названия скрипт или CGI-программа.
Сам протокол разработан таким образом, чтобы можно было использовать любой язык программирования, который может работать со стандартными устройствами ввода/вывода. А это умеет даже сама операционная система, поэтому часто если вам не требуется сложный скрипт, его можно просто сделать в виде командного файла.
Все скрипты, как правило, помещают в директорию cgi-bin сервера, но это совсем даже не обязательно, в принципе скрипт может располагаться где угодно только при этом большинство Web-серверов требуют специальной настройки.
В web-сервере Apache такая настройка производится с помощью файла .htaccess в той директории, где содержится этот скрипт. Вот содержание такого файла:
Options ExecCGI
Также Apache позволяет запускать все скрипты имеющие рассширение .cgi, если в файле настроек сервера httpd.conf есть настройка:
AddHandler cgi-script .cgi
Чаще всего, хотя наверно почти всегда, скрипты используются для создания динамических страниц. Связано это с тем, что само содержимое веб-сервера является статическим и не будет меняться просто так, для этого должен приложить руку веб-мастер. Технология CGI позволяет просто поменять содержимое веб-сервера. Простым примером может служить скрипт, который при каждом новом обновлении страницы вставляет в нее новую ссылку(банер) или анекдот. Более сложными скриптами являются гостевые книги, чаты, форумы и естественно поисковые сервераили базы данных построенные на технологиях интернета.
Данный формат появился в июле 2003 года как альтернатива RSS каналам. Сначала проект назывался Echo, но затем возникли проблемы с товарным знаком и проект был переименован в Atom. Atom — это основанный на XML формат, предназначенный для агрегирования информации в первую очередь с веб-сайтов. Он создавался для использования в блогах, однако может применяться и для любых других новостных и периодических изданий в web. Существенной частью спецификации является протокол, работающий поверх HTTP, предназначенный для автоматизации ведения блога. Мы будем рассматривать версию 1.0 ставшую стандартом W3C в 2005 году.
RSS — семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами. Обычно с помощью RSS 2.0 даётся краткое описание новой информации, появившейся на сайте, и ссылка на её полную версию. Интернет-ресурс в формате RSS называется RSS-каналом или RSS-лентой или RSS-фидом. Практически все популярные современные браузеры поддерживают RSS каналы: Safari, Maxthon, Mozilla Firefox, Mozilla Thunderbird, Opera, Microsoft Internet Explorer начиная с 7-й версии. Я не буду останавливаться на истории формата, скажу лишь что существуют версии 0.91, 1.0 и 2.0, причем не совместимые между собой. Крайне не рекомендую вам использовать версию 0.91, потому что умная Netscape 5 января 2006 года удалила с сайта my.netscape.com файл rss-0.91.dtd, ссылки на который были размещены в большом количестве трансляций формата RSS версии 0.91. Это событие привело к сбою некоторых онлайновых и офлайновых агрегаторов, так как потоки, ссылающиеся на этот DTD стали невалидными. Мы же рассмотрим самый последний формат на момент написания этой статьи - RSS 2.0.
Бытует мнение, что найти серьезный баг в популярном продукте нельзя. Действительно, это реально сложно, но отнюдь не невозможно. Конечно, современные продукты кодеры пишут явно с учетом существования нас с вами. Сканят новейшими сканерами, ставят всякие проверки, отдают проект разным аудит-компаниям, отваливая тонны бабла за услуги пен-тестинга. Но никто и ничто не гарантирует абсолютную защищенность. И хоть сто тестеров будут искать баги - проследить все взаимозависимости, вызовы способен лишь гений. Которых, как известно, не существует :). Зато хакеров, которых хлебом не корми, дай что-нибудь взломать, пока хватает.
Создаем плацдарм
Перво-наперво поднимем локальный веб-сервер на своем PC. Ведь, согласись, что палить найденные баги в логах на официальном сайте просто не профессионально. Хотя дело не только в "засвечивании" уязвимостей. Настройки чужого сервера могут быть нам не благоприятны, и мы просто не заметим баг, который живет в движке. Поэтому, скажу немного о настройке локального веб-сервера с приоритетом на максимальное отображение всех ошибок.