Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ещё один хитрый скрипт
 
 автор: evgen_17   (04.04.2005 в 20:54)   письмо автору
 
 

Как некоторые помнят, когда-то давно я говорил о скрипте, который вытаскивал из указанного места в файле значение и в зависимости от того, каково оно выполнял указанные действия. Вот и возник вопрос. Как ето сотворить?

   
 
 автор: cheops   (05.04.2005 в 00:06)   письмо автору
 
   для: evgen_17   (04.04.2005 в 20:54)
 

Это зависит от структуры файла и того, что нужно вытаскивать... Опишите пожалуйста задачу более конкретно или дайте ссылку на тему, если задача там описана.

   
 
 автор: evgen_17   (05.04.2005 в 00:12)   письмо автору
 
   для: cheops   (05.04.2005 в 00:06)
 

Вытаскивать скорее всего нужно число. А хотя ладно.
Допустим есть файл и там написано:

"Что-то написано..."

И вот допустим, если скрипт найдёт в этом файле слово "написано", то откроет главную страницу сайта (index.php)
Примитивный вариант, так, для понятия принцыпа...

   
 
 автор: cheops   (05.04.2005 в 00:20)   письмо автору
 
   для: evgen_17   (05.04.2005 в 00:12)
 

Хм... ну можно прочитать содержимое файла
<?php
  $content 
file_get_contents("text.txt");
?>

поискать вхождение фразы, если она входит в файл, то выполнять действие, если нет - не выполнять.
<?php
  
if(strpos($content"Что-то написано..."))
  {
    
// Выполняем действие...
  
}
?>

   
 
 автор: Никоза   (05.04.2005 в 00:21)
 
   для: evgen_17   (05.04.2005 в 00:12)
 

Я вот тоже этим вопросом интересуюсь. Токмо по другому поводу. В доске объявлений - вот если человек разместил своё объявление. и вдруг попытается его ещё раз разместить - то этого человека надо отправить на страничку с ругательствами - чтобы не баловался. Скрипт должен проверить наличие этого текста.
А принцип тот же самый, о чём и пишет в своём вопросе evgen_17

   
 
 автор: cheops   (05.04.2005 в 00:59)   письмо автору
 
   для: Никоза   (05.04.2005 в 00:21)
 

Всё это решаемо, но для этого необходимо смотреть как хранятся данные, так как для того, чтобы найти текст в середине файла, нужные зацепки, ведь для вывода тоже применяются какие-то форматирующие элменты... По URL приводится тема с обсуждением сходного вопроса (в начале).

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=242

   
 
 автор: evgen_17   (05.04.2005 в 20:57)   письмо автору
 
   для: cheops   (05.04.2005 в 00:59)
 

F А жно как-нибудь сделать такое?

Например у пользователя в какой-то папке есть 2 файла fone1.jpg и fone2.jpg. А скрипт должен узнать какой из них установлен в качестве рисунка на рабочий стол. И если установлен fone1.jpg, то выводится надпись в браузер ("fone1.jpg"), если наоборот, то соответственно... Можно такое написать?

   
 
 автор: cheops   (05.04.2005 в 22:06)   письмо автору
 
   для: evgen_17   (05.04.2005 в 20:57)
 

На PHP точно нельзя, так как он работает только на сервере и клиенту отправляются только результаты его работы. Позволяет ли такие штуки JavaScript не знаю, но скорее всего нет, так как данный скриптовый язык очень ограничен в правах (чтобы не навредить пользователю).

   
 
 автор: evgen_17   (06.04.2005 в 11:13)   письмо автору
 
   для: cheops   (05.04.2005 в 22:06)
 

А может быть Perl может? Тут скорее всего нужно будет значение из памяти компьютера вытаскивать (виртуальной) или из файлов на компьютере пользователя. Но разве PHP не может работать с удалёнными файлами? К тому же путь файлу один и тот же? На каком языке вирусы пишут? Они всё могут, дак почему бы не написать вирус, только в благородных целях?

   
 
 автор: imi   (06.04.2005 в 11:24)   письмо автору
 
   для: evgen_17   (06.04.2005 в 11:13)
 

такое можно сделать только посредством ActiveX

   
 
 автор: cheops   (06.04.2005 в 11:34)   письмо автору
 
   для: evgen_17   (06.04.2005 в 11:13)
 

Perl тоже серверный язык программирования... искать дыры, чтобы через них работать - не очень надёжный способ, так как их регулярно закрывают. Нормальные вирусы пишут на Assembler, чтобы они везде пролазили, сейчас всё чаще на С/С++, какие бы благородные цели вирус не преследовал, это уголовно наказуемо :))) никто даже разбираться не будет какие у вас были цели :)))

   
 
 автор: cheops   (06.04.2005 в 11:37)   письмо автору
 
   для: evgen_17   (06.04.2005 в 11:13)
 

Perl тоже серверный язык программирования... искать дыры, чтобы через них работать - не очень надёжный способ, так как их регулярно закрывают. Нормальные вирусы пишут на Assembler, чтобы они везде пролазили, сейчас всё чаще на С/С++, какие бы благородные цели вирус не преследовал, это уголовно наказуемо :))) никто даже разбираться не будет какие у вас были цели :)))

   
 
 автор: evgen_17   (06.04.2005 в 12:27)   письмо автору
 
   для: cheops   (06.04.2005 в 11:37)
 

Что-же это получается лицензионную программу придётся разрабатывать??? Хм... Кстате, а может можно программу написать, которая такие действия выполняла бы и результат отправляла на сервер, а он эти результаты обрабатывал и выполнял необходимые действия...?

   
 
 автор: cheops   (06.04.2005 в 12:32)   письмо автору
 
   для: evgen_17   (06.04.2005 в 12:27)
 

Можно, но при установке или в readme обязательно нужно сказать, что пользователь использует её на свой страх и риск. Правда если писать такую программу на С, придётся реализовывать клиента, и реализовывать взаимодействие с сервером через сокеты.

   
 
 автор: evgen_17   (06.04.2005 в 13:59)   письмо автору
 
   для: cheops   (06.04.2005 в 12:32)
 

Хорошо, а можно мне где-нибудь узнать подробнее как такую прогу написать? А именно, нужно, чтобы эта прога вытаскивала из памяти указанное значение (из указанного болка памяти) и отправляло его на сервер через инет, такое реально?

   
 
 автор: evgen_17   (06.04.2005 в 14:53)   письмо автору
 
   для: evgen_17   (06.04.2005 в 13:59)
 

Не могу найти учебник по ActiveX в инете. Може у кого есть или знает кто-нибудь где скачать?

   
 
 автор: Никоза   (06.04.2005 в 21:59)
 
   для: evgen_17   (06.04.2005 в 14:53)
 

Актив икс легко создать на Делфи. Там уже есть в библиотеке масса готовых компонентов ActiveX. За 25 минут я для прикола создал свой браузер, полностью своё оформление и свои параметры. А если скачать с сайта Делфи библиотеку актив икс - там вообще всё что угодно уже готовое. Компилируешь файл, заливаешь его на сервер, и он работает. Но вот проблема - сейчас очень редко кто осмеливается использовать актив икс. Он ведь имеет прямой доступ к файлам. Неограниченные права.
Можно ещё совершенно законно залить файл на комп клиента (во временные файлы) с помощью ява-скрипта. обычно это используется для закачки звуков. или флешек больших... А можно и внаглую exe-файл закачать. Но ява-якрипт тоже может быть отключен.
Perl я не знаю, но почему-то уверен, что там тоже невозможно получить права для работы с файлами клиента. (Хотя может я и не прав...).
Можно как говорит Хеопс. написать и вирус на асме в благородных целях, размером не более 1 kb,
(Могу дать отличный русский учебник асмы. для само образования - за месяц будете знать истинное программирование - процессор, память, сектора, сдвиги битов - короче, зрительно всё это представлять).
Тут конечно, спору нет. он мгновенно захватит машину... Но ведь это уже просто взлом. и это наказуемо.

   
 
 автор: evgen_17   (06.04.2005 в 22:31)   письмо автору
 
   для: Никоза   (06.04.2005 в 21:59)
 

Цели несколько другие... Да и ActiveX будет запускаться с согласия пользователя. Вопрос в другом, можно ли то, что я описывал выше осуществить на ActiveX или нужно что-то другое? Хотя я думаю этот язык может найти значение в памяти и отправить его на сервер... Всё, что нужно...

P.S. Какую же программу лучше использовать для написания ActiveX? Delphi или Visual B.?

   
 
 автор: Никоза   (07.04.2005 в 03:11)
 
   для: evgen_17   (06.04.2005 в 22:31)
 

ActiveX - это не язык. Это контейнер, набитый элементами управления компьютером. Туда можно напихать всё что угодно. Его можно создать с помощью Делфи, Бейсика. С, С++... Но создать - то не проблема... Как я уже говорил, проблема в том, что он опасен. Люди нервничают, видя предложение загрузить актив икс. (Там ведь легко впихнуть кусок кода навроде идиотского format:C)
В Вашем случае лучше всего (если Вы хорошо знаете английский), скачать родной микрософтовский актив икс, который Вам нужен, их много библиотек в сети существует, и поставить на сайт. Тут ведь в чём фишка - если актив икс подписан микрософтом - браузер его пропустит даже не спрашивая. (Если он настроен по умолчанию). А именно это Вам и надо, так? А самому писать - сомневаюсь, что кто-то согласится разрешить загрузку неподписанного актив икса Вот Вы бы согласились?
(И ещё - если есть файервол - он всё равно залупится, даже если контейнер и подписанный...).
Может даже и в Рунете есть коллекции актив иксов. С русским пояснением. У меня так проблема с английским, к сожалению...
Но повторю - ставить лучше подписанные микрософтом.

   
 
 автор: evgen_17   (07.04.2005 в 15:18)   письмо автору
 
   для: Никоза   (07.04.2005 в 03:11)
 

Блин, дак где же я найду-то именно то, что мне нужно??? Такой элемент, который вытаскивает из памяти значение и отправляет его на сервер. (Что-то вроде Art Money - там происходит поиск значений в памяти, которая выделяется приложению и его замена на указанное...) Но мне нужно только найти и отправит, пока... Где мне такое взять, как искать-то???

   
 
 автор: cheops   (07.04.2005 в 16:16)   письмо автору
 
   для: evgen_17   (07.04.2005 в 15:18)
 

Обсуждение в теме по ссылке

http://www.softtime.ru/forum/read.php?id_forum=2&id_theme=3215

   
 
 автор: Никоза   (07.04.2005 в 22:50)
 
   для: cheops   (07.04.2005 в 16:16)
 

Так КАК Вам тут ответишь... Вам нужно для начала точно указать, что именно актив иск должен сделать. Какие конкретно значения брать-то?
Тут всё просто. В-общем, открываете компилятор, (на чём Вы умеете писать?), я для примера борландовский беру - Делфи... Так, открыли.
Потом открываете файл\создать\activeX\... Потом сохраняете проектик сразу, и далее уже пишете код. Как обычно - вставляете кусок кода, и делаете ССЫЛКУ на него. И далее также - кусок кода и ССЫЛКУ на него. Потом компилируете. Получаете *.OCX
И всё в принципе... Вообще, технологию COM посмотрите,
... Или вот ущё такая штука есть - ASP, хотя ASP я вообще не знаю, что это такое... Краем уха слышал принципы... Но вроде он может Ваши задачи решить...(???).

   
 
 автор: evgen_17   (08.04.2005 в 12:44)   письмо автору
 
   для: Никоза   (07.04.2005 в 22:50)
 

Ответ на это сообщение смотрите по приведённой выше ссылке (Cheops'ом)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования