#!/usr/bin/perl ############################################################################### # # check_get_1.pl - пример проверки логина и пароля, передаваемых методом GET, # с использованием функции split() для выделения передаваемых параметров # # При вызове с пустой строкой данных: # http://localhost/cgi-bin/check_get_1.pl # выводит форму для ввода логина и пароля # # При вызове с непустой строкой данных, например: # http://localhost/cgi-bin/check_get_1.pl?log=vasya&psw=password # выделяет из строки логин и пароль и проверяет их # ############################################################################### print "Content-type: text/html\n\n"; $param = $ENV{QUERY_STRING}; if ($param eq '') { # Если строка данных пустая - выводим форму для ввода логина и пароля print <<ENDHTML; <html> <head> <title>Пример проверки логина и пароля</title> </head> <body> <center> <form action="check_get_1.pl" method="get"> Ваш логин: <input type="text" name="log"> <br><br> Ваш пароль: <input type="text" name="psw"> <br><br> <input type="submit" value="Проверить"> </center> </body> </htmL> ENDHTML } else { # Иначе (если строка не пустая) начинаем обработку данных # Пример строки: log=vasya&psw=password ($parlog, $parpas) = split("&",$param); # разделим входную строку по символу "&" на отдельные параметры логина и пароля # Пример: $parlog <=> log=vasya - параметр логина, $parpsw <=> password - параметр пароля # $parpsw <=> psw=password - параметр пароля ($tmp, $log) = split("=",$parlog); # разделим параметр логина по символу "=" на имя и значение # Пример: $tmp <=> log - имя параметра (далее нам не нужно, поэтому поместим # его во вспомогательную переменную $tmp), # $log <=> vasya - значение параметра (логин), его-то и будем далее проверять ($tmp, $pas) = split("=",$parpas); # разделим параметр пароля по символу "=" на имя и значение # Пример: $tmp <=> psw - имя параметра (далее нам не нужно, поэтому поместим # его во вспомогательную переменную $tmp), # $pas <=> password - значение параметра (пароль) # Истинные логин и пароль поместим в переменные $log_ok и $pas_ok $log_ok = 'vasya'; $pas_ok = 'password'; # Выполняем проверку полученных логина и пароля if (($log eq $log_ok) && ($pas eq $pas_ok)) { print "Логин и пароль - верные!"; } else { print "Неправильный логин и/или пароль!"; } }