Автор Тема: Как правильно выбирать CGI скрипты  (Прочитано 9691 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Как правильно выбирать CGI скрипты
« : 25 Января 2002, 09:58:03 »
;) многие ищут по критерию воз-тей: мол делает что мне надо, значит рулезный скрипт, и вовсе не задумываются о его реализации.
На сайте http://perl.com появилась статья:
Finding CGI Scripts ( http://www.perl.com/pub/a/2002/01/23/cgi.html )
О том где найти скрипты, и как выбрать наилуший.
Вот некоторые рекомендации по выбору скрипта:

- используется ли в скрипте ключ -w и прагма strict?
Если да, то хорошо, значит как минимум, программер знал о существовании таковых и смог написать "корректный код", т.к. ключ и пагма strict заставляют интерпритатор Perl быть более настороженным к коду

- используется ли контроль меченных данных?
Ключ -T. Данный режим прежде всего полезен форумам, гостевым книгам, доскам объявлений, т.е. тем, где могут запостить всякую гадость, которую скрипт тупого программера может применить для каких нибудь критичных функций (верх идиотизма - разборка eval  :)  ) В общем, повышаем надежность. Такие ненадежные  данные всегда надо проверять.

- Использует ли скрипт CGI.pm
Это стандартный модуль Perl, который можно найти везде, где есть сам Перл, но некоторые умники предпочитают обрабатывать самостоятельно передаваемые данные... что чревато ошибками и защищенностью скрипта.

- Как часто скрипт обновляется?
Если часто, значит его автор заботится, следит за своим творением и пытается его сделать лучше или хотя бы конкурентноспособным

- Тех. поддержка... она есть вообще?
Очень яркий показатель. Если есть, то имеет смысл ознакомиться с проблемами, которые одолевают пользователей скрипта.
 в исканиях.

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
во
« Ответ #1 : 25 Января 2002, 10:25:18 »
судя по всему вышеизложенному, хороший CGI скрипт должен как минимум выглядеть так:

#!/usr/bin/perl -Tw
use strict;
use CGI qw/:standart/;
use vars \'$global_var\';

;) остается лишь немного дописать и скрипт готов.
Давайте сделаем супер грабилку - устроим Yandex на дому.

#!/usr/bin/perl -Tw
use strict;
use LWP::Simple;
use vars \'$url\', \'$html\';
$url=\'http://yandex.ru\';
$html=head($url);#Проверим, жив ли сайт
if ($html){
 $html=get($url);
}
else {$html=\'Яндекс Умер!\'}
$|++;
print "Content-type: text/html\\n\\n";
print $html;

Во, создан супер скрипт проверки Яндекса на живучесть.
 в исканиях.

  • Гость
Как правильно выбирать CGI скрипты
« Ответ #2 : 25 Января 2002, 13:24:55 »
Ага и занимать он будет как твой код + CGI.pm т.е. где-то 500 байт + 300 кбайт. Мда. Большое удовольствие интерпритатору интерпритировать всё это...

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Как правильно выбирать CGI скрипты
« Ответ #3 : 25 Января 2002, 13:37:13 »
Цитировать

Ага и занимать он будет как твой код + CGI.pm т.е. где-то 500 байт + 300 кбайт. Мда. Большое удовольствие интерпритатору интерпритировать всё это...

Ну да, лучше изобрести велосипед и сделать разбор параметров и большую часть функций CGI самому, влепив пару-тройку ошибок, сделав только метод гет, потом добавить пост, когда он понадобиться, помучиться с разбором multipart/form-data...:) В процессе использования своих функций наткнуться на ошибки.:)
Для приобретения навыков программирования это конечно полезно.:)
Кстати про експорт только части функций модуля может слышали? Тогда и интерпретатор "получит удовольствие"...:)
2B OR NOT 2B = FF

  • Гость
Как правильно выбирать CGI скрипты
« Ответ #4 : 27 Января 2002, 22:47:09 »
а про CGI::Lite не слышали, что ли?

Оффлайн flymio

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://notlj.ru
мррррк)))
« Ответ #5 : 29 Января 2002, 12:43:20 »
уууу ... навеяло ...
грабилка запросов яндекса))) некрасиво, зато работает)))


но самое интересное))) - никому не нужна))) о как)))


#!/usr/bin/perl
require IO::Socket;
print "Content-type: text/html\\n\\n";
print "\\n";
for($q=0;$q<=3;$q++)
{
my($host, $port) = ("yandex.ru",80);
$port ||= 80;
my $url = "/last20.html";
my $remote = IO::Socket::INET->new(Proto     => "tcp",
PeerAddr  => $host,
PeerPort  => $port,
);
unless ($remote) {
die "cannot connect to http daemon on $host";
}
$remote->autoflush(1);
print $remote "GET $url HTTP/1.0\\n\\n";
my $response_line = 0;
my $header_terminator = 0;
my @msg = ();
my $i=0;
while ( <$remote>) {
$i++;
if ($i eq 29){$v = $_;last;}
}
close $remote;
$beg=\'\';
$midl = \'
 · $end = \'\';
open(ST,">>yandex.txt");
while ($v =~ s/$beg(.+?)$midl(.+?) target=_blank>(.+?)$end/ /e)
{print ST "$1;;$3\\n";}
close ST;
}
exit;

Оффлайн flymio

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://notlj.ru
ну вот)))
« Ответ #6 : 29 Января 2002, 13:06:18 »
так всегда))) на самом интересном месте ... а насчёт грабилки ? ...
какая бы она ни была кривая, она не делает ничего необычного, она просто тупо грабит запросы со страницы,
при этом мы имеем такую интересную информацию, что же ищут пользователи ...


у меня сейчас база (текстовая) уже перевалила 500 мг ... там есть таааакое ... просто жуть)))
особенно запросы по слову моя ...
говорю сразу, они имеют слегка ненормальный характер)))

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
ага
« Ответ #7 : 29 Января 2002, 13:47:24 »
Цитировать
там есть таааакое ... просто жуть)))
особенно запросы по слову моя ...
говорю сразу, они имеют слегка ненормальный характер)))

могу себе представить ;) Правда вроде последние пол-года там запросы несколько не те - ну одно и тоже за последний час, очень часто один и тот же запрос крутится несколько раз в течении часа, т.е. частоту того или иного запроса уже не определишь, а вот картину что ищут, да.
:) Я тоже делал такую
 в исканиях.

Оффлайн puh

  • Ни свой, ни чужой
  • Старожил
  • ****
  • Сообщений: 300
  • +0/-0
  • 2
    • Просмотр профиля
Как правильно выбирать CGI скрипты
« Ответ #8 : 13 Февраля 2002, 19:35:30 »
Green Kakadu
Очень ценю и уважаю мнение, но...
Если не будем делать ошибок, то не будет и учебы. Очевидно, чтобы стать хорошим Perl-программистом придется наломать дров на начальном этапе.
А у вас разве сразу все было как надо и как следует? Что-то не верится...
© Винни-Пух

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
хы
« Ответ #9 : 14 Февраля 2002, 02:27:42 »
Цитировать
А у вас разве сразу все было как надо и как следует?

у меня и сейчас все криво получается ;) : все что написано в статье, это нечто вроде перевода (хотя и несколько от него и далеко).

А так согласен, используя тот же CGI.pm можно писать скрипты и при этом ;) смутно представлять как же из формы данные получают, что не есть хорошо.
С др. стороны :) ошибок то действительно меньше будет.
 в исканиях.

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
а PHP? ASP?
« Ответ #10 : 14 Февраля 2002, 18:34:09 »
Про них такие ценные статьи имеются?
•••Jah\'d never let us down!•••

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28