Beginning XHTML

XHTML ลักษณะคล้ายๆ HTML แต่จะเข้มงวดเรื่อง syntax มากกว่า strict มากกว่า HTML
ตัวอย่างเช่น
☻ attribute ต้องเป็นตัวเล็กเท่านั้น
<TITLE> ✘
<title> ✔

☻ ค่าใน attribute ต้องใส่ ”
<img src=pic.jpg /> ✘
<img src=”pic.jpg” /> ✔

☻ ต้องมี / ปิดท้ายด้วยเสมอ
<br> ✘
<br /> ✔

☻ attributeใช้ id แทน name
<img src=”pic.jpg” name=”image” /> ✘
<img src=”pic.jpg” id=”image” /> ✔

☻ การเปิดปิด tag ต้องทำให้ถูกต้องถูกลำดับ
<b><i>xhtml</b></i> ✘
<b><i>xhtml</i></b> ✔

☻ XHTML ต้องใส่ DOCTYPE ไว้ด้านบนสุดเสมอ
(More : http://www.w3schools.com/tags/tag_doctype.asp)
แนะนำให้ใช้ XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>

☻ เลิกใช้การประกาศ Language Attribute
<script language=”javascript” type=”text/javascript” ></script> ✘
<script type=”text/javascript” ></script> ✔

☻ XHTMLL ไม่สามารถใช้ Characters แบบตรงๆได้
(More : http://www.ascii.cl/htmlcodes.htm)
<title>hello >>TEST<< hello</title> ✘
<title>hello &gt;&gt;TEST &lt;&lt; hello</title> ✔

☻ ห้ามย่อค่าของ attributes
<option selected> ✘
<option selected=”selected”> ✔

☻ สำหรับการกำหนดลักษณะต่างๆ กำหรดรูปแบบ ขนาดต่างๆ ในบาง elements XHTML ห้ามใช้ attributes บางอย่าง ให้เราไปใช้ style แทน
ปล. XHTML จะเหมาะกับการใช้ร่วมกับ CSS มากกว่า
<td background=”pic.jpg”></td> ✘
<td style=”background-image:url(‘pic.jpg’);”></td> ✔

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
✎ <a> Must not contain other <a> elements.
✎ <pre> Must not contain the <img>, <object>, <big>, <small>, <sub>, or <sup> elements.
✎ <button> Must not contain the <input>, <select>, <textarea>, <label>, <button>, <form>, <fieldset>, <iframe> or <isindex> elements.
✎ <label> Must not contain other <label> elements.
✎ <form> Must not contain other <form> elements.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
ตัวอย่างการเขียน XHTML
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<head>
<title></title>
<meta http-equiv=”Content-Type” content=”text/html;charset=utf-8″ />
</head>
<body></body>
</html>
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
The <marquee></marquee> tag creates a scrolling text marquee. This tag is not part of the XHTML specification
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
XHTML Reference
http://www.w3schools.com/tags/default.asp
http://xhtml.com/en/xhtml/reference/
http://www.december.com/html/x1tran/– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Markup Validation Service (ตรวจสอบความถูกต้องของโค้ด)
http://validator.w3.org/#validate_by_upload
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
attributes = คุณสมบัติ , ลักษณะ
elements = องค์ประกอบ

วิธีทำเข็มกลัด[PicBadge]

1. ขั้นแรก ให้เราเข้าไปที่ http://www.picbadges.com/ugc/
2. คลิกที่ปุ่ม login with Facebook

3. คกดที่ปุ่ม Browse… แล้วเลือกรูปหรือโลโก้ที่ต้องการ แล้วทำการลากจัดวางตามต้องการ
4. คลิกที่ Preview รอสักครู่

5. กดปุ่ม Submit

6. ในหน้านี้ ให้เรากรอกข้อมุลเล็กน้อย และอย่าลืม ติ๊กเครื่องหมายถูก ตรง

I acknowledge that: (i) I have the rights to distribute this image, (ii) all individuals shown in this image have consented to the use of their likenesses and (iii) the image does not violate the Terms & Conditions.

ด้วยนะครับ แล้วคลิกปุ่ม Publish

[concept] Download Facebook Video (Regex)

เขียนเป็นแนวทางไว้และกัน ขี้เกียจเขียนโค้ดและ - -"
ใช้ Perl เขียนจะง่ายหน่อย ^^"

[concept] Download Facebook Video (Regex)
Ex. URL : http://www.facebook.com/video/video.php?v=3268371116768

1. View Source Code แล้วใช้ regex หา URL VDO
["highqual_src","http..."],
แล้วเขียนแยกดึง URL ที่ได้ออกมา ก็จะได้
http\u00253A\u00252F\u00252Fvideo.ak.fbcdn.net\u00252Fcfs-ak-ash4\u00252Fv\u00252F445209\u00252F884\u00252F3268371116768_39328.mp4\u00253Foh\u00253Db28a20ac9b04084fda9f730fc119affa\u002526oe\u00253D4FC3DE20\u002526__gda__\u00253D1338236448_503f420d701d9815a09f60a63046b042

2. เขียน Function Replace คำต่อไปนี้
แทนที่ \u00253A แทนด้วย :
แทนที่ \u00252F แทนด้วย /
แทนที่ \u002526 แทนด้วย &
แทนที่ \u00253F แทนด้วย ?
แทนที่ \u00253D แทนด้วย =

3. ก็จะได้เป็น
http://video.ak.fbcdn.net/cfs-ak-ash4/v/445209/884/3268371116768_39328.mp4?oh=b28a20ac9b04084fda9f730fc119affa&oe=4FC3DE20&__gda__=1338236448_503f420d701d9815a09f60a63046b042

By : Sornram9254

อ้อ เดี๋ยวอาจมีบางคนอาจบอกว่า fb มันก็มีปุ่มให้กด DL vdo อยู่แล้วนี่
อันนี้เอาไว้ใช้กับ vdo อันที่ไม่ได้เป็น public หรือ vdo ที่ดูได้แต่ไม่มีปุ่มให้กดโหลด
แต่ต้องเอาไปประยุกต์อีกนิดคือ ต้องเขียน function login facebook อีก - -"

เหมาะมากกำคนใช้ linux ถ้าใช้ windows ใช้ idm ดูดเอาก็ได้ - -"
จริงๆก็มีเว็บบริการพวกนี้อยู่แล้วเหมือนกันนะ :)

[Perl] Encode & Decode MD5 : GUI

เป็นโปรแกรม Perl ตัวแรกนะครับที่ผมเขียนเป็นแบบ GUI ถ้าผิดพลาดประการใดก็ขออภัยด้วยครับ (-/\-)
ปล. ด้านล่างไม่ใช่รูปของโปรแกรมนี้นะครับ ส่วนของโปรแกรมนี้มีแค่ En&De md5 แค่นั้น 55 ^^"


#!/usr/bin/perl -w
#########################################################################
# ░░░░░░░░░░░░░░░░░░░░░░░░░░ Copyright (c) 2012 by sornram9254.com
# ░░░░░░░░░░░█░░█░░░░░░░░░░░░░
# ░░░░░░░░░░░█░░█░░░░░░░░░░░░░ This software is open source,
# ░░░░░░░░░░█░░░█░░░░░░░░░░░░░ licensed under the GNU/GPL,v3.0
# ░░░░░░░░░█░░░░█░░░░░░░░░░░░░
# ███████░░░░░██████░░░░░░░ Basically,
# ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░░░░░░ this means that you're allowed to modify and
# ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░░░░░░ distribute this software.
# ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░░░░░░ However, if you distribute modified versions,
# ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░░░░░░ you MUST also distribute the source code.
# ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░░░░░░
# ▓▓▓▓▓▓█████░░░░░░░░░██░░░░░░ See http://www.gnu.org/licenses/gpl.html
# █████▀░░░░▀▀████████░░░░░░░░ for the full license.
#########################################################################
use Tk;
use LWP;
use Digest::MD5 qw(md5_hex);
$mw = new MainWindow; $mw->geometry('300x150'); $mw->title("Perl GUI");

########## Encode MD5 ##########
$en_md5 = $mw->Label(-text => “Encode MD5”)->pack;
$mw -> Entry(-textvariable => \$put_en_md5) -> pack;
$mw->Button(-text => “Gen”, -command => \&en_md5 )->pack;

sub en_md5 {
my $md5_hash = $put_en_md5;
my $md5_generated = md5_hex($md5_hash);
print “Encode MD5 : Result => $md5_generated\n”;
########## Create New Form ##########
$mw = new MainWindow; $mw->geometry(‘350×70’); $mw->title(“Encode MD5 : Result”);
$mw->Label(-text => “$put_en_md5”)->pack;
my $frm_name = $mw -> Frame() -> pack(); #New Frame
my $ent = $frm_name -> Entry(-text => $md5_generated) -> pack (-ipadx => 60,-ipady => 5);
}
########## Decode MD5 ##########
$de_md5 = $mw->Label(-text => “Decode MD5”)->pack;
$mw -> Entry(-textvariable => \$put_de_md5) -> pack;
$mw->Button(-text => “Gen”, -command => \&de_md5 )->pack;

sub de_md5 {
my $md5 = $put_de_md5;
$lwp = LWP::UserAgent->new;
$lwa = $lwp->get(‘http://md5.rednoize.com/?p&s=md5&q=’.$md5);
$hash = $lwa->content;
print “Decode MD5 : Result => $hash\n”;
########## Create New Form ##########
$mw = new MainWindow; $mw->geometry(‘350×70’); $mw->title(“Decode MD5 : Result”);
$mw->Label(-text => “$put_de_md5”)->pack;
my $frm_name = $mw -> Frame() -> pack(); #New Frame
my $ent = $frm_name -> Entry(-text => $hash) -> pack (-ipadx => 60,-ipady => 5);
}
MainLoop;

[Perl] IP Information : GUI

SS :


#!/usr//bin/perl
#########################################################################
# ░░░░░░░░░░░░▄▄░░░░░░░░░░░░░░ Copyright (c) 2012 by sornram9254.com
# ░░░░░░░░░░░█░░█░░░░░░░░░░░░░
# ░░░░░░░░░░░█░░█░░░░░░░░░░░░░ This software is open source,
# ░░░░░░░░░░█░░░█░░░░░░░░░░░░░ licensed under the GNU/GPL,v3.0
# ░░░░░░░░░█░░░░█░░░░░░░░░░░░░
# ██████▄▄█░░░░░██████▄░░░░░░░ Basically,
# ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░░░░░░ this means that you're allowed to modify and
# ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░░░░░░ distribute this software.
# ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░░░░░░ However, if you distribute modified versions,
# ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░░░░░░ you MUST also distribute the source code.
# ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░░░░░░
# ▓▓▓▓▓▓█████░░░░░░░░░██░░░░░░ See http://www.gnu.org/licenses/gpl.html
# █████▀░░░░▀▀████████░░░░░░░░ for the full license.
#########################################################################
use Tk;
use LWP::Simple;
$mw = new MainWindow; $mw->title("Perl GUI :)"); $mw->geometry('200x70');
$mw->Label(-text => "IP Information")->pack;
$mw->Button(-text => "Check", -command => \&get_ip )->pack(-ipadx => 40,-ipady => 5);
sub get_ip {
my $ua = LWP::UserAgent->new();
my $contents = $ua->get('http://www.melissadata.com/lookups/iplocation.asp');
my $found = $contents->content;
while( $found =~ m/Your IP Address: (.*?)<\/span>/g ) {
$ip=$1;
print "IP : $1 \n";
$mw = new MainWindow; $mw->geometry('400x200'); $mw->title("Check IP : Result");
my $frm_name = $mw -> Frame() -> pack(); #New Frame
my $ent = $frm_name -> Entry(-text => "IP => $1") -> pack (-ipadx => 100,-ipady => 5);
#------------------------------------------------------------------------------------------------------------------------------------------
my $content = $ua->get('http://www.melissadata.com/lookups/iplocation.asp?ipaddress='.$ip)->content;
my ($isp) = ($content =~ m/ISP<\/td>(.*?) <\/b>/g);
print "ISP : $1 \n";
my ($city) = ($content =~ m/City<\/td>(.*?)<\/b>/g);
print "City : $1 \n";
my ($state) = ($content =~ m/State or Region<\/td>(.*?)<\/b>/g);
print "State or Region : $1 \n";
my ($country) = ($content =~ m/Country<\/td>(.*?)<\/b>/g);
print "Country : $1 \n";
my ($la1,$la2) = ($content =~ m/Latitude & Longitude<\/td>(.*?)  (.*?)<\/b>/g);
print "Latitude : $1 .::.::. Longitude : $2 \n";
my $ent = $frm_name -> Entry(-text => "ISP => $isp") -> pack (-ipadx => 100,-ipady => 5);
my $ent = $frm_name -> Entry(-text => "City => $city") -> pack (-ipadx => 100,-ipady => 5);
my $ent = $frm_name -> Entry(-text => "State or Region => $state") -> pack (-ipadx => 100,-ipady => 5);
my $ent = $frm_name -> Entry(-text => "Country => $country") -> pack (-ipadx => 100,-ipady => 5);
my $ent = $frm_name -> Entry(-text => "Latitude => $la1 .::. Longitude => $la2") -> pack (-ipadx => 100,-ipady => 5);
#------------------------------------------------------------------------------------------------------------------------------------------
}
}
MainLoop;

!BlackBunTu! อีกหนึ่ง OS ที่พัฒนามาจาก Linux และรวม Hacl Tools นับ 300+

Blackbuntu Ultimate OS for Hacking

จุดมุ่งหมายของ Blackbuntu คือ นำเสนอความรู้ ข้อมูล ข่าวสารด้าน Information Security และการใช้งาน Blackbuntu ในแง่มุมของการทำ Penetration Testing หรือ Security Audit และเป็นอีกหนึ่งทางเลือกสำหรับผู้ใช้งาน Linux ในการทำ Penetration Testing
และเป้าหมายจอง มันกะคือ >> แข่งกับ backtrack
<จุดเด่นหลักๆที่น่าใช้มันนะครับ >
1.ง่ายสำหรับผู้เริ่มต้น(ถ้าเคยใช้ Ubuntu อยู่แล้วสามารถใช้เจ้าตัวนี้ได้เลย)
2.Environment สดใหม่เพราะ based on Ubuntu 10.10
3.Support ภาษาไทย 100%
4.มี tool ต่างๆมากมาย(เพิ่มขึ้นเรื่อยๆใน version ต่อๆไปมากกว่าหรือเท่ากับ backtrack)
5.สามารถนำไปใช้งานทั่วไปแทน OS หลักได้ทันที

Video

ที่มา : thaishadow.com/board/index.php?topic=3594.0

Windows Environment Variables

Windows Environment Variables

Environment variables are mainly used within batch files, they can be created, modified and deleted using the SET command.

Variables can be displayed using either SET or ECHO.

Variables have a percent sign on both sides: %ThisIsAVariable%
The variable name can include spaces, punctuation and mixed case: %_Another Ex.ample%
(This is unlike Parameter variables which only have one % sign and are always one character long: %A )

In a batch file the default behaviour is to read and expand variables one line at a time, for example:

 SET /P _price=”Enter the price: ”
ECHO %_price%

The above will work, but the version below will fail because %_price% will remain undefined until processing reaches the next line, this behaviour can be changed using SETLOCAL EnableDelayedExpansion

 SET /P _price=”Enter the price: ” & ECHO %_price%
ECHO That didnt work!

Standard (built-in) Environment Variables

Variable Default value:
Windows XP
Default value:
Windows 7/2008
%ALLUSERSPROFILE% C:\Documents and Settings\All Users C:\ProgramData
%APPDATA% C:\Documents and Settings\{username}\Application Data C:\Users\{username}\AppData\Roaming
%CommonProgramFiles% C:\Program Files\Common Files C:\Program Files\Common Files
%COMMONPROGRAMFILES(x86)% C:\Program Files (x86)\Common Files C:\Program Files (x86)\Common Files
%COMPUTERNAME% {computername} {computername}
%COMSPEC% C:\Windows\System32\cmd.exe C:\Windows\System32\cmd.exe
%HOMEDRIVE% C: C:
%HOMEPATH% \Documents and Settings\{username} \Users\{username}
%LOCALAPPDATA%

N/A

(but can be manually addedLOCALAPPDATA=%USERPROFILE%\Local Settings\Application Data)

C:\Users\{username}\AppData\Local
%LOGONSERVER% \\{domain_logon_server} \\{domain_logon_server}
%PATH% C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem;{plus program paths} C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem;{plus program paths}
%PATHEXT% .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH; .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH; .MSC
%ProgramData% N/A C:\ProgramData
%ProgramFiles% C:\Program Files C:\Program Files
%ProgramFiles(x86)% 1 C:\Program Files (x86) C:\Program Files (x86)
%PROMPT% Code for current command prompt format,usually $P$G
C :>
Code for current command prompt format,usually $P$G
C :>
%PSModulePath% N/A %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\
%Public% N/A C:\Users\Public
%SYSTEMDRIVE% C: C:
%SYSTEMROOT% C:\Windows C:\Windows
%TEMP% and %TMP% C:\Documents and Settings\{username}\Local Settings\Temp C:\Users\{Username}\AppData\Local\Temp
%USERDOMAIN% {userdomain} {userdomain}
%USERNAME% {username} {username}
%USERPROFILE% %SystemDrive%\Documents and Settings\{username} %SystemDrive%\Users\{username}
%WINDIR% C:\Windows C:\Windows

1 Only on 64 bit systems, is used to store 32 bit programs.

By default, files stored under Local Settings do not roam with a roaming profile.

%ERRORLEVEL% is a dynamic variable that is automatically set when a program exits.

Dynamic Variables

There are also 6 dynamic environment variables, these are computed each time the variable is expanded.
n.b. you should not attempt to directly SET a dynamic variable.

%CD% – The current directory (string).

%DATE% – The current date using same region specific format as DATE.

%TIME% – The current time using same format as TIME.

%RANDOM% – A random decimal number between 0 and 32767.

%CMDEXTVERSION% – The current Command Processor Extensions version number.

%CMDCMDLINE%
 – The original command line that invoked the Command Processor.

Pass a variable from one batch script to another

Where one batch script CALLs another it is recommended that you SETLOCAL in both scripts to prevent any possible naming conflicts, so each script should start with:
@ECHO OFF
SETLOCAL

Then to pass a value back to the original calling script, finish the script with a line like:

ENDLOCAL & SET _output=%_variable%

In the line above %_variable% is a local variable used and visible within just that one batch script
%_output% is an output variable that is passed back to the original calling script

“Men may be convinced, but they cannot be pleased against their will. But though taste is obstinate, it is very variable, and time often prevails when arguments have failed” – Samuel Johnson

Related:

CALL – Evaluate environment variables
SET – Display, set, or remove variables
Q100843 – The four types of environment variable
Q286705 – Set compatibility variables
Q242557 – Registry Settings for Folder Redirection
Managing Roaming User Data Deployment Guide – Microsoft.com (Word Doc)

ที่มา : http://ss64.com

http://ss64.com

Threads in Perl. แยก Process ทำงานด้วย Threads.

Threads in Perl. แยก Process ทำงานด้วย Threads.

Threads คืออะไร ตามที่ผมเข้าใจ เจ้าตัว Threads เนี่ย มันคือการแตก process แยกกันทำงานในแต่ละคำสั่ง ที่ได้รับมาครับ ซึ่งจะทำให้โปรแกรมที่เราเขียนเพื่อรันหลายคำสั่งในเวลาเดียวกัน ทำงานได้รวดเร็วยิ่งขึ้นเพราะมีการแยก process กันทำงานตามที่ผมบอกไปด้านบนครับ มาดูตัวอย่างการสร้าง Threads ทำงานกันง่ายๆ ใน Perl ก็มีโมดูลที่เรียกใ้ช้ Threads ได้เช่นกันโดยใช้ use Threads;


use Threads;

while(1){
print ‘Command : ‘;
chomp($command=);
$threads = threads->create(\&cmd,$command); // ใช้ Threads
#&cmd($command); // ไม่ได้ใช้ Threads
sub cmd{
my @value = qx($command);
foreach(@value){
print $_;
}
}
}

จากโค้ดคือส่วนที่สั่ง control cmd.exe เหมือนที่เราพิมพ์ใน cmd บนวินโดวส์นั่นเอง.. แบบแรกที่ไม่ใช่ threads ผมลองเิปิด notepad.exe อันแรก จะเิปิดได้ แต่เปิดอันที่สองจะเปิดไ่ม่ได้ครับ เพราะมันต้องรอ process ที่เปิด notepad.exe อันแรกทำงานเสร็จก่อน (นั้นคือปิดโปรแกรมนั่นเอง)

คราวนี้ผมลองเขียนแบบใช้ threads ดูสามารถเปิดได้หลายๆอัน คือทำได้หลาย process นั่นเองครับ รูปแบบการสร้าง threads ก็จะเป็นแบบ $ตัวแปร = threads->create(\&sub,$para1); คือส่ง parameter เข้าไปใน sub เพื่อให้ทำงานนั่นเองครับ ลองนำไปประยุกต์ใช้กันดูนะครับ..

ขอจบบทความเพียงเท่านี้ครับ ,, ICheer_No0M

ที่มา : icheernoom.blogspot.com/2011/12/threads-in-perl.html

Basic Online MD5 Cracker


#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common;
$md5 = shift;
$lwp = LWP::UserAgent->new;
$lwa = $lwp->get('http://md5.rednoize.com/?p&s=md5&q='.$md5);
$hash = $lwa->content;
print "Result : $hash";

Sub in perl [ IRC ]


if ($svrmsg=~/all@!talk (.*)/)
{
$message=$1;
{if ($svrmsg=~/^\:$owner\!/){&talk;} # ส่งเข้า Sub
}
}
###### ใช้ Sub
sub talk{
print $connect "PRIVMSG ".$channel." :$message\r\n";
}

ที่มา : http://icheernoom.blogspot.com/2011/08/perl-sub-irc.html
โดย : ICheer_No0M