Oct
20
Posted on 20-10-2010
Filed Under (一般的な情報) by Arun Bagul

はじめに –

ほぼ1年前、私はPerlのCGIアプリケーションでセッションとCookieを実装するための多くの苦労した。だから、すべてあなたと私の仕事を共有すると考えられている。
私は自分の方法でそれをやってみたかった…

仮定は、Webサーバー、つまりApacheがCGIスクリプトを実行するために有効になっている

Step 1] Write Auth.pm Perl module –

Please simply copy following Auth.pm perl module for authentication using Session and Cookies…

[root@arun ~]# cat /var/application/module/Auth.pm

package Auth;

### Subroutine to authenticate user
sub  User
{
my ($ref_page) = (@_);
### Session information
my $sid = $ref_page->cookie(“APP_SID”) || undef;
my $session = CGI::Session->load(undef,$sid);
if ( $session->is_expired ) { print $ref_page->redirect(-location => ‘../arun.html’);}
elsif ( $session->is_empty) { print $ref_page->redirect(-location => ‘../arun.html’);}
else { print $ref_page->header();}
# don’t forget to create dir ‘/var/tmp’
# with proper ownership/permission
#$session = new CGI::Session(undef, $sid, {Directory=>’/var/tmp’});
#################################################
return($session->param(‘login_user’));
}

1;
[root@arun ~]#

Step 2] authe_me.pl –

authe_me.pl file is used to set cookies and verify username/password. You may use MySQL DB to store username and password.
In this case you have to this file…

[root@arun ~]# cat /var/application/www/cgi-bin/auth_me.pl
#!/usr/bin/perl

sub BEGIN
{
unshift (@INC, ‘/var/application/module/’);
}

use strict;
use warnings;
use CGI qw(:standard);
use CGI::Session;
use Auth; ## our module

### Header
########################
my $page = CGI->new();
##print $page->header();

##########
if ( $ENV{REQUEST_METHOD} eq “POST” )
{
my %form;
my $session_dir=”/var/tmp”;
my ($admin_user,$admin_password) = (“admin”,”arun123″);

foreach my $key (param()) { $form{$key} = param($key);}
##
if (($form{username}) && ($form{password}))
{

### Session Details ###
CGI::Session->name(“APP_SID”);
## Create new session
my $session = new CGI::Session(undef, undef, {Directory=>$session_dir});
## Set cookies
my $cookie = $page->cookie(-name=>$session->name(),-value=>$session->id(),-expires=>’+2h’,-path=>’/’);
## Store data in session variable and save it
$session->param(‘login_user’,$form{username}); # OR
##$session->param(-name=>’login_user’,-value=>$form{username});
$session->save_param($page, [“login_user”]);

## Session and Cookie expiration time is SAME.
$session->expire(“+2h”);
#### Session Details end ####

## if login successful redirect to main.pl else login page
if (($form{username} eq $admin_user) and ($form{password} eq $admin_password))
{ print $page->redirect(-location => ‘main.pl’,-cookie=>$cookie);}
else { print $page->redirect(-location => ‘../arun.html’); }
############################
} else { print $page->redirect(-location => ‘../arun.html’); }
}

[root@arun ~]#

Step 3] Create Login Page –

[root@arun ~]# cat /var/application/www/arun.html
<html>
<title>Arun Login Page</title>

<!– Form start –>
<table align=’center’ border=’1′>
<form method=”POST” action=”cgi-bin/auth_me.pl”>
<tr>
<td><label>Login</label></td>
<td><input name=”username” type=”text”></td>
</tr>
<tr>
<td><label>Password</label></td>
<td><input name=”password” type=”password”><br/></td>
</tr>
<tr>
<td><input value=”Submit” type=”submit”></td>
</tr>

</form>
</table>

</html>

[root@arun ~]#

Step 4] Create main page where Session and Cookie authentication verified – main.pl

[root@arun ~]# cat /var/application/www/cgi-bin/main.pl
#!/usr/bin/perl

sub BEGIN
{
unshift (@INC, ‘/var/application/module/’);
}

use strict;
use warnings;
use CGI qw(:standard);
use CGI::Session;
use Auth;

### Header
my $page = CGI->new();
## check authentication
my $login_name=Auth::User($page);
###
print $page->start_html( -title=>’Arun Main Page’);

print “<h3>This is Main Page</h3></br>”;
print “<br>Login Name – $login_name”;

#end
[root@arun ~]#

Step 5] Please access login page and try http://your_ipaddr/arun.html

Thank you,
Arun Bagul

(0) Comments    Read More   

はじめに –

ネットワークの遅延や帯域幅は、2つのメトリック最も興味を引かされる可能性が高いときのベンチマークネットワーク。ほとんどのサービスや製品の広告は倍の帯域幅に焦点を当てても待ち時間が以上のメトリックの重要なことができます。

**帯域幅とは何ですか?

帯域幅(BW)は、コンピュータネットワークのネットワーク接続、またはインターフェイスによってサポートされているデータレートを指します。 BWはビット/秒(bps)の条件で測定されます。

ネットワークの待ち時間は何**ですか?

レイテンシは、システム内の経験の遅延時間の測定値です。遅延時間は別のポイントからのデータを送信するように観察されるネットワークの遅延は、単に定義されています。ネットワークの遅延に寄与する要因がいくつかあります。これらは、(接続の媒体)の距離、ルータとコンピュータハードウェアの遅延を送信含まれています。

ネットワークのパフォーマンスおよび帯域幅をテストするために使用されるプロジェクトのリスト –

1)bmonのは – 、それが基づいてコンソールです帯域幅モニタ、レート推定、BWを生きる
2)bwbar – テキストとグラフィックの帯域幅の使用形式
3)はbwm – ngの – 帯域幅モニタNGの(次世代、ベースのコンソールは、BWライブ
4)のdstat – Dstatはは、vmstat、iostatおよびifstatに関する置き換わるものです。
5)iftopの – インターフェイスの帯域幅の使用量は、コンソールベース
6)iperfの – を実行するネットワークスループットテストは、2つのホストを賭ける
7)ifstat – レポートインターフェイスの統計情報
8)cbmのは、 – カラー帯域幅メーター、コンソールベース
9)etherape – グラフィカルなネットワークトラフィックブラウザ
10)がiptrafのは – 対話式のカラフルなのIP LAN Monitorは、コンソールおよびGUIベースの
11)netmrg – それはデーモンベースのMySQLのサポートは、デバイスからデータを収集されます。
12)nuttcpの – ネットワークのパフォーマンス測定ツール
13)nepim

注は、それらのいくつかはrpmまたはdebパッケージが利用可能にされていない〜!

ステップ1]は、どのようにインストールするにはRedHat / RHCEのは、CentOSベースのシステムDibianベースのシステム?

ルート@私:〜#yumをインストールするのnetperf iperfのnuttcpののnepimのlmbench

** Ubuntuの –

ルートは@私:〜#のapt – netmrg iperfののifstatのiptraf iftopのbmonののbwbar bwm – ngののdstatのcbmのetherapeをインストール取得

ステップ2]どのように使用する – bmonのを、bwm – ngの、のdstat、ifstat –

root@me:~# bmon

interface: lo at me.arun.world

#   Interface                RX Rate         RX #     TX Rate         TX #
───────────────────────────────────────────────────────────────────────────────
me.arun.host (source: local)
0   lo                         0.00B            0       0.00B            0
1   eth0                       0.00B            0       0.00B            0
2   eth2                       0.00B            0       0.00B            0
3   vboxnet0                   0.00B            0       0.00B            0
4   pan0                       0.00B            0       0.00B            0
5   ppp0                      69.39KiB         61       7.49KiB         44

root@me:~# bwm-ng

bwm-ng v0.6 (probing every 0.500s), press ‘h’ for help
input: /proc/net/dev type: rate
\         iface                   Rx                   Tx                Total
==============================================================================
lo:           0.00 KB/s            0.00 KB/s            0.00 KB/s
eth0:           0.00 KB/s            0.00 KB/s            0.00 KB/s
eth2:           0.00 KB/s            0.00 KB/s            0.00 KB/s
ppp0:          64.39 KB/s            7.92 KB/s           72.31 KB/s
——————————————————————————
total:          64.39 KB/s            7.92 KB/s           72.31 KB/s

root@me:~# dstat
—-total-cpu-usage—- -dsk/total- -net/total- —paging– —system–
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
7   4  85   4   0   0| 281k  110k|   0     0 |   0     0 | 865  3013
8   4  88   0   0   0|   0     0 |7027B 1261B|   0     0 | 956  4505
8   5  86   0   0   0|   0     0 |  14k 1867B|   0     0 |1144  3332
9   5  86   0   1   0|   0     0 |  79k 2496B|   0     0 |1360  3366
18   8  74   0   0   0|   0     0 |  52k 6511B|   0     0 |1299  3618
8   6  85   0   1   0|   0     0 |  35k 5339B|   0     0 |1094  4231
6   4  90   0   0   0|   0     0 |   0  3164B|   0     0 | 953  2750 ^C
root@me:~#

root@me:~# ifstat
eth0                eth2                ppp0
KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out
0.00      0.00      0.00      0.00     95.73      4.31
0.00      0.00      0.00      0.00     67.93      8.17
0.00      0.00      0.00      0.00    106.77     13.70

つのホスト(A)と、クライアント別のホスト(B)の上**スタート”iperfの”サーバー – 2つのホスト間のネットワークのスループットを測定しています。

* Host -A

root@me:~# iperf -s
————————————————————
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
————————————————————
[  4] local 192.168.0.1 port 5001 connected with 192.168.0.2 port 56171
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  9.11 GBytes  7.82 Gbits/sec

* Host -B
test@hostB:~$ iperf -c 192.168.0.1
————————————————————
Client connecting to 192.168.0.1, TCP port 5001
TCP window size: 49.5 KByte (default)
————————————————————
[  3] local 192.168.0.2 port 56171 connected with 192.168.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  9.11 GBytes  7.82 Gbits/sec
test@hostB:~$

root@me:~# iftop
root@me:~# cbm

Thank you,
Arun Bagul

(0) Comments    Read More   

www.flickr.com
arunbagul's photos More of arunbagul's photos
Get Adobe Flash player
-->