- เพื่อความปลอดภัย server ส่วนใหญ่จะไม่เปิดบริการ cgi หรือ perl ให้กับทุกคน หากต้องการเปิดบริการให้ใคร ก็จะกำหนดให้เฉพาะคนนั้น หลักการนี้ผมนำไปใช้กับการกำหนดในส่วนของ virtual host ทำให้ใช้งานได้ยืดหยุน และปลอดภัย มากกว่าการเปิดให้บริการทุกคน
- การกำหนดว่าห้องใด หรือ host name ใด สามารถใช้บริการ perl หรือ cgi ได้สามารถกำหนดในแฟ้ม /etc/httpd/conf/httpd.conf มีหลายจุดในแฟ้มนี้ที่สามารเปิด หรือปิดบริการได้ โดยใช้คำว่า options ExecCGI หรือ options all กำหนดบริการ ดูรายละเอียดเพิ่มเติมได้จากหัวข้อ 9.11 และ 9.62
แสดงบทความที่มีป้ายกำกับ Perl แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Perl แสดงบทความทั้งหมด
วันอาทิตย์ที่ 21 พฤษภาคม พ.ศ. 2560
3.7 การเปิด perl ให้เฉพาะ account
3.7 การเปิด perl ให้เฉพาะ account
: กำหนดว่าห้องใดสามารถใช้ภาษา perl หรือ cgi ได้
3.6 Perl เรียกตัวเองมาแสดงผล
3.6 Perl เรียกตัวเองมาแสดงผล
: โปรแกรมนี้เป็น ภาษา perl ซึ่งทดสอบให้ ประมวลผลได้ใน linux เครื่อง isinthai.com นี้
โปรแกรมนี้ชื่อ testf.pl ถูกเก็บไว้ในห้อง
/home/burin/public_html และ link ไปยังห้อง /var/www/html/burin
ซึ่งต้องกำหนดให้ chmod 700 เพื่อให้สั่งประมวลผล shell script ตัวนี้ได้
การเรียก Perl script ตัวนี้ ให้ทำตามข้างล่างนี้
>> http://www.isinthai.com/thaiall/testf.pl
ตัวอย่างโปรแกรมที่ใช้ทดสอบ
#!/usr/bin/perl
$filename = "/home/burin/public_html/testf.pl";
print"Content-type:text/html\n\n";
print"<body bgcolor=#ffffdd><pre>";
open(myfile,"$filename");
@getrec = <myfile>
close(myfile);
$i = 1;
foreach $r (@getrec) {
$r =~ s/</</g;
$r =~ s/>/>/g;
$r =~ s/"/"/g;
print $i,". ",$r,"<br>";
$i++;
}
print"<hr>";
3.5 Perl สำหรับลบระเบียน
3.5 Perl สำหรับลบระเบียน
: โปรแกรมเล็ก ๆ ที่ใช้ลบระเบียนตาม key field ที่ป้อนเข้าไป
<form action=http://www.isinthai.com/thaiall/perldel.pl method=post>Delete record on
s-id : <input type=text name=sid> <input type=submit value=Del_dataperl.txt>
</form>
- ตัวอย่างโปรแกรม perl
#!/usr/bin/perl
&parse_form;
print"Content-type:text/html\n\n";
$filename = "/home/burin/public_html/dataperl.txt";
print "<body bgcolor=#ddffff><pre>";
open(myfile,"<$filename");
@getrec = <myfile>;
close(myfile);
$i = 1;
open(myfile,">$filename");
foreach $rec (@getrec) {
@r = split(/:/,$rec);
if ($r[0] ne $config{'sid'}) {
print myfile $rec;
}
}
close(myfile);
print "Delete : Finish";
exit;
sub parse_form {
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
@pairs = split(/&/, $ENV{'QUERY_STRING'});
} elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
}
foreach $pair (@pairs) {
local($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
$config{$name} = $value;
}
}
3.4 Perl สำหรับเพิ่มระเบียนใหม่
3.4 Perl สำหรับเพิ่มระเบียนใหม่
: โปรแกรมเล็ก ๆ เพิ่มระเบียนใหม่อย่างง่าย ๆ ทีละระเบียน
<form action=http://www.isinthai.com/thaiall/perladd.pl method=post>Add new<br>
s-id : <input type=text name=sid><br>
s-name : <input type=text name=sn><br>
s-surname : <input type=text name=ss><br>
s-salary : <input type=text name=ssal><br>
status: <input type=text name=stat><br>
<input type=submit value=Add_dataperl.txt>
</form>
- ตัวอย่างโปรแกรม perl
#!/usr/bin/perl
&parse_form;
print"Content-type:text/html\n\n";
$filename = "/home/burin/public_html/dataperl.txt";
open(myfile,">>$filename");
$dat = "$config{'sid'}:$config{'sn'}:$config{'ss'}:$config{'ssal'}:$config{'stat'}:\n";
print myfile $dat;
close(myfile);
print "Add new : Finish";
exit;
sub parse_form {
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
@pairs = split(/&/, $ENV{'QUERY_STRING'});
} elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
}
foreach $pair (@pairs) {
local($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
$config{$name} = $value;
}
}
3.3 Perl สำหรับแสดงข้อมูลจากแฟ้ม
: โปรแกรมเล็ก ๆ ที่อ่านข้อมูลจากแฟ้มมาแสดง
<form action=http://www.isinthai.com/thaiall/perllst.pl method=post>
<input type=submit value=List_dataperl.txt> perllst.pl
</form>
หรือ จะเรียกตรง ๆ ผ่าน URL ก็ได้เช่น http://www.isinthai.com/thaiall/perllst.pl
- ตัวอย่างโปรแกรม perl
#!/usr/bin/perl
print"Content-type:text/html\n\n";
$filename = "/home/burin/public_html/dataperl.txt";
print "<body bgcolor=#ddffff><pre>";
open(myfile,"<$filename");
@getrec = <myfile>;
close(myfile);
$i = 1;
foreach $rec (@getrec) {
@r = split(/:/,$rec);
print $i,$r[0]," - ",$r[1],$r[2],$r[3],$r[4],$r[5],"\n";
$i++;
}
3.2 Perl สำหรับสร้างแฟ้ม
3.2 Perl สำหรับสร้างแฟ้ม
: โปรแกรมเล็ก ๆที่ใช้ในการสร้างแฟ้ม ตัวอย่างนี้มี 6 ระเบียน 5 เขตข้อมูล
<form action=http://www.isinthai.com/thaiall/perlcrt.pl method=post>
<input type=submit value=Create_dataperl.txt> perlcrt.pl
</form>
หรือ จะเรียกตรง ๆ ผ่าน URL ก็ได้เช่น http://www.isinthai.com/thaiall/perlcrt.pl
- ตัวอย่างโปรแกรม perl
#!/usr/bin/perl
print"Content-type:text/html\n\n";
$filename = "/home/burin/public_html/dataperl.txt";
open(myfile,">$filename");
$dat = "3101001:Tom:Jojo:16000:A:\n";
print myfile $dat;
$dat = "3101002:Naja:Rujj:5600:R:\n";
print myfile $dat;
$dat = "3101003:Packman:Somsu:7000:L:\n";
print myfile $dat;
$dat = "3101004:Nichole:Jaiboon:15000:A:\n";
print myfile $dat;
$dat = "3101005:Suwi:Hancharn:10600:A:\n";
print myfile $dat;
$dat = "3101006:Nirund:Jiva:9700:A:\n";
print myfile $dat;
close(myfile);
print "<body bgcolor=#ddffff>Create 6 Records and 5 Fields : Finish";
3.1 เริ่มต้นกับ perl
3.1 เริ่มต้นกับ perl
: เมื่อเขียน perl สักโปรแกรมหนึ่ง แล้วใช้ ftp upload เข้าไปใน home directory ของท่าน ก็ถือว่าผ่านจุดแรกแล้ว
- ตัวอย่างโปรแกรม perl ที่ใช้ในการทดสอบ 3 บรรทัด
#!/usr/bin/perl
print"Content-type:text/html\n\n";
print"<body bgcolor=#ffffdd>";
print"<h1>This is test.</h1><br>By tester</body>";
- วิธีการทำให้ perl ใช้งานได้
- Host name ที่ท่านจะใช้อ้างอิงในการ upload คือ www.isinthai.com
- ก่อน upload ต้องให้แน่ใจว่า โปรแกรมของท่าน มีนามสกุลเป็น .pl
- ก่อน upload ต้องให้แน่ใจว่ากำหนด mode การส่งแบบ ascii ไม่ใช่ bin เพราะถ้าเป็น binary จะใช้งานไม่ได้
- หลัง upload แล้วให้ใช้ ftp version ใหม่หน่อย ทำการ chmod เป็น 755 เช่น chmod 755 f.pl เป็นต้น
- ตอนเรียกใช้ให้เรียกทาง url ดังนี้ http://www.isinthai.com/uname/f.pl
- ถ้าเรียกใช้แบบ http://www.isinthai.com/uname/f.pl จะแสดง source code ออกมาตรง ๆ ไม่ผ่านการประมวลผล
- ควรทราบว่า Home directory อยู่ที่ /home/uname
ภาษาเพิร์ล : Perl
ภาษาเพิร์ล (อังกฤษ: Perl) (ย่อมาจาก Practical Extraction and Report Language) เป็นภาษาโปรแกรมแบบไดนามิก พัฒนาโดยนายแลร์รี วอลล์ (Larry Wall) ในปี ค.ศ. 1987 เพื่อใช้งานกับระบบปฏิบัติการยูนิกซ์
ภาษาเพิร์ล นั้นถูกออกแบบมาให้ใช้งานได้ง่าย โครงสร้างของภาษาจึงไม่ซับซ้อน มีลักษณะคล้ายกับภาษาซี นอกจากนี้เพิร์ลยังได้แนวคิดบางอย่างมาจากเชลล์สคริปต์, ภาษา AWK, sed และ Lisp
ปัจจุบันเวอร์ชันล่าสุดคือ 5.18.0
ประวัติภาษา Perl
ภาษา Perl ย่อมาจากคำว่า Practical Extraction and Report
Language ถูกพัฒนาขึ้นโดยนายแลร์รี วอลล์ (Larry Wall) ในปี 1996
เพื่อใช้งานกับระบบปฏิบัติการ Unix ซึ่งในขณะนั้นการพัฒนาแอพพลิเคชันบนระบบ
Unix
เป็นเรื่องที่ยุ่งยากและต้องมีความรู้ความเข้าใจในภาษาโปรแกรมหลายภาษา
เพราะในขณะนั้นภาษาโปรแกรมแต่ละภาษาจะทำงานในเครื่องใดเครื่องหนึ่งโดยเฉพาะ
การจะทำงานออกมาสักงานหนึ่งจะต้องใช้โปรแกรมแทบทุกภาษาที่มีในขณะนั้น
อย่างเช่น ในส่วนของการทำงานกับไฟลืต้องใช้ภาษา awk หรือ grep
และแก้ไขไฟล์ด้วยภาษา ded เป็นต้น
ภาษา Perl
ถูกสร้างขึ้นมาเพื่อทำงานทุกส่วนเสร็จสมบูรณ์ในตัวเองไม่ต้องไปเรียกใช้ภาษา
อื่นอีก โดยที่ภาษา Perl ได้รวบรวมเอาข้อดีของภาษาต่างๆ
ในขณะนั้นเข้ามาไว้ด้วยกัน อย่างเช่นภาษา grep/awk, sh, sed และ C
ทำให้การสร้างแอพพลิเคชั่นบนระบบปฏิบัติการ Unix
เป็นไปได้อย่างมีประสิทธิภาพมากขึ้น และที่สำคัญภาษา Perl
ถูกออกแบบมาเพื่อให้ใช้งานง่าย
ในปัจจุบันภาษา Perl
สามารถใช้งานกับระบบปฏิบัติการที่หลากหลายไม่ว่าจะเป็น Unix, Linux, MVS,
VMS, OS/2, Amiga และ Windows นอกจากนี้ด้วยความสามารถที่สำคัญของภาษา Perl
ที่สามารถทำงานได้หลายด้าน เป็นเหตุให้ตัวภาษา Perl
ถูกนำมาใช้เขียนโปรแกรมบนอินเทอร์เน็ตประเภทต่างต่าง เช่น เว็บ E-Commerce
ภาษา Perl ดีอย่างไร
สำหรับข้อดีหลักๆ ที่สำคัญของการใช้งานภาษา Perl พอสรุปได้ดังนี้
1. ง่ายต่อการเรียนรู้ โดยภาษา Perl
มีโครงสร้างของภาษาไม่ซับซ้อนเข้าใจง่าย ซึ่งโครงสร้างภาษา Perl
จะคล้ายกับภาษา C มาก เพราะภาษา Perl สร้างขึ้นมาโดยใช้ภาษา C
ทำให้ผู้ที่คุ้นเคยภาษา C อยู้แล้วใช้งานภาษา Perl ได้ไม่ยาก
นอกจากนี้โดยตัวภาษาเองมีความยืดหยุ่นสูงทำให้การจัดการกับงานด้านข้อความ
และ Text File ได้เป้นอย่างดี
2. ไม่ต้องเสียค่าใช้จ่ายใดๆ ทั้งสิ้น เพราะตัวแปรภาษา Perl อยู่ภายใต้ลิขสิทธิ์ GNU
3. ใช้ได้หลายแพลตฟอร์ม ในช่วงแรกภาษา Perl ถูกออกแบบใช้งานกับระบบ Unix
อยู่ก็จริง แต่ในปัจจุบันได้มีการพัฒนาตัวแปลภาษา Perl
ให้สามารถใช้กับระบบปฏิบัติการอื่นๆ อาทิเช่น Linux, Windows 95/98/ME,
Windows NT, Windows 2000, OS/2, Macintosh
4. ภาษา Perl ถูกสร้างขึ้นโดยได้รวบรวมเอาส่วนดีของภาษาต่างๆ เข้ามาไว้ด้วยกัน อาทิเช่น ภาษา C, grep/awk, sh, sed
5. ภาษา Perl เป็นภาษาประเภท Server side Script คือการทำงานของภาษา Perl
จะทำงานด้านฝั่ง Server แล้วส่งผลลัพธ์กลับมายัง Client
ทำให้มีความปลอดภัยสูง
ปัจจุบันเวอร์ชันล่าสุดคือ 5.18.0
สมัครสมาชิก:
บทความ (Atom)
Laravel
Laravel Framework คือ PHP Framework ตัวหนึ่งที่ถูกออกแบบมาเพื่อพัฒนาเว็บแอพพลิเคชั่นต่างๆ ในรูปแบบ MVC (Model Views Controller) ซึ่งมีการแ...
-
ความรู้พื้นฐานเกี่ยวกับคอมพิวเตอร์ 1.1 คอมพิวเตอร์ หมายถึง คอมพิวเตอร์ คือ อุปกรณ์อิเล็กทรอนิกส์ที่ทำงานตามชุดคำสั่งอ...
-
ปกติแล้วเมื่อเราประกาศตัวแปร Type ที่เป็นตัวเลขมา เราก็มักจะมีการเปลี่ยนแปลงค่าของตัวแปรนั้นอยู่บ้าง โดยการคำนวณร่วมกับค่าเดิมที่ตัว...