คลังเก็บหมวดหมู่: Programming

การแก้ปัญหาเบื้องต้นจากการโดน Redirect ไปที่ http://seishell-inoa.ru/wings/index.php

การแก้ปัญหาเบื้องต้น จากการโดน XSS (Cross Site Script) ที่ทำให้หน้าเว็บของเรา Redirect ไปที่ http://seishell-inoa.ru/wings/index.php

หลังจากที่ Website ที่โฆษณาโดยใช้ Adwords บางตัว เมื่อคลิกที่ Ad แล้วปรากฏว่าพบว่ามัน Redirect ไป http://seishell-inoa.ru/wings/index.php ซึ่งก่อน Google จะบล็อค Website นี้จะ เป็น Fake App (Symantec Endpoint 11 กั้นไม่ให้ Access เลยทีเดียว) ที่ทำตัวเป็น Antivirus แต่จริงๆ เมื่อ Download มานั่นจะเป็น Virus อย่างดีทีเดียว
สาเหตุหลักจากที่พยายามไล่ดูแล้ว ช่องโหว่มากที่สุดน่าจะเป็นที่ใช้ phpMyAdmin 2.9.2 ในระบบเป็นส่วนใหญ่ ซึ่งมันรั่วมาก มันสามารถ สร้าง Script Attack Server เราได้มากมาย
โดยมีสรุป เป็นปีๆ ได้ดังนี้
http://www.cvedetails.com/version/38014/Phpmyadmin-Phpmyadmin-2.9.2.html
และอันนี้เป็นอันรวมว่ามีรูรั่วตรงไหนบ้าง
http://www.cvedetails.com/vulnerability-list/vendor_id-784/product_id-1341/version_id-38014/opxss-1/Phpmyadmin-Phpmyadmin-2.9.2.html

ทั้งหมดจะเป็นประเภท XSS หมดเลยครับ

วิธีการแก้ปัญหา
ก่อนทำอะไร Backup DB ไว้ก่อนดีที่สุดครับ

1. จัดการตัวการเจ้าปัญหาเสียก่อน โดยทำการลบ phpMyAdmin version ที่รั่วทิ้ง จากนั้นไป Load Version ใหม่ ได้ที่ http://www.phpmyadmin.net/home_page/index.php

2. ให้ทำการตรวจสอบข้อมูลใน Table เราก่อนว่ามี Script ที่เกิดจากการใช้ SQL Injection อะไรหรือเปล่า โดยหลักจะผมจะ Search หาคำว่า </SCRIPT>, script , java , void ด้วย Keyword เหล่านี้ แต่หาจากทุก Table ใน ทุกๆ Field ใน Database นั้นๆ (มีเครื่องมือที่ http://anywhereindb.googlecode.com เป็นไฟล์ php หรือจะใช้ ค้นหา ใน phpmyadmin ก็ได้ครับ) เมื่อเจอ Code Java ประหลาด ๆ (ที่ไม่ได้เกิดจากที่ App เราเขียนนะครับ) ก็ลบออก
(ใน Case ของผมมี 2 – 3 จุดครับ แต่ก็ยังไม่หาย ยังคง Redirect ต่อเนื่อง – -” คิดว่างานมาละ )

อ่านเพิ่มเติม

ข้อความนี้ถูกเขียนใน Programming และติดป้ายกำกับ บน โดย

เวลาทำ Popup Javascript แล้วเป็นภาษาต่างดาว

โดยส่วนใหญ่ใน Application ที่เขียน ก็จะต้องมี Popup ที่เป็น Javascript โน้นนี่ แต่สำหรับที่ติดปัญหาก็คือ บางครั้ง Javascript ที่เป็น Popup แสดงภาษาไทยไม่ถูกต้อง คือเป็นต่างดาวไปเลย แม้ว่า Encoding Charset มั่นใจว่า Set ถูกหมดแล้ว

วิธีแก้ปัญหาก็แสนจะง่ายดาย เพียงแค่ กำหนด charset ให้ javascript นั้นๆ เลยเช่น

<script LANGUAGE=”JavaScript” CHARSET=”UTF-8″>
     alert(‘ทดสอบ’);
</script>
หรือถ้าเป็น javascript แบบไฟล์แยก

<SCRIPT LANGUAGE=”JavaScript” CHARSET=”UTF-8″ SRC=”this_is_java.js”></SCRIPT>

แค่นี้ Javascript Popup ของเราก็ไม่เป็นภาษาต่างดาวแล้วครับ

เปลี่ยนที่อยู่ของ views folder ของ Codeigniter ที่ไหน

วันก่อนต้องเขียน Codeigniter ร่วมกับเพื่อน มี Case ของต้องวาง Folder view ไว้ให้คนอื่นหาง่ายๆ เลยต้องหาทางย้ายจากที่อยู่ดั้งเดิมของมัน เลยเกิดคำถามขึ้นว่า ถ้าต้องการเปลี่ยนที่อยู่ของ Folder views ของ Codeigniter ซึ่งติดตั้งครั้งแรกจะอยู่ที่ /system/application/views จะต้องทำยังไงบ้าง

วิธีทำก็คือ
เข้าไปที่ copy file system/libraries/Loader.php ไปที่ system/application/libraries/Loader.php หาอันนี้

$this->_ci_view_path = APPPATH.’views/’;

$this->_ci_view_path = ‘my_views/’;

ซึ่งจะเริ่มต้นที่ root application path ของ เรา

แค่นี้ก็เรียบร้อย

เริ่มต้นง่ายๆ กับการเขียน WordPress Plugins บทที่ 1

เริ่มต้นง่ายๆ กับการเขียน WordPress Plugin บทที่ 1

ว่าจะลองเขียน Plugin ของ WordPress หลายต่อหลายครั้งแล้ว แต่ยังไม่ได้เริ่มเลยสักครั้ง คราวนี้ฤกษ์งามยามดีเพราะว่าต้องทำ Theme ให้ www.iamewery.com แล้วต้องไปแก้ Plugins หลายๆอันเพื่อให้สวยงามพอดีกับ Theme และยังอยากเขียน Plugins ที่สำหรับ ใส่ตัวเก็บสถิติของ Stats.in.th ด้วย (โปรเจ็คถัดไป) วันนี้เลยเอาวิธีเขียน Plugins แบบ ง่ายมาเขียนให้ดูกันครับ

ในบทที่ 1 นี้เราจะเริ่มเขียน Plugin ง่ายๆตัวนึง โดยตั้งชื่อว่า WP-ColorClock หน้าที่ของปลั๊กอินอันนี้คือการแสดงวันที่ปัจจุบันในทุกๆ Post ด้วยอักษรสีแดง

ให้ทำการสร้าง File ชื่อ wp-colorclock.php ไว้ใน wp-content/plugins จากนั้นเข้าไปแก้ไขไฟล์นี้ด้วย Notepad หรือ Editor อื่นๆตามถนัด

< ?php
/*
Plugin Name: WP-ColorClock
Version: 0.1
Description: Plugin Description
Author: Plugin Author Name
Author URI:  Author website url
Plugin URI: Plugins website url
*/
?>

อ่านเพิ่มเติม

ใน IIS ไม่มี ASP.Net Extension ทำยังไง ลงยังไง

ใน IIS6 ไม่มี ASP.Net Extension ทำยังไง ลงยังไง
เรื่องของเรื่องก็เพราะว่าวันนี้น้องขวัญที่ตอนนี้ผันตัวไปเป็น Web Programer โทรมาถามว่า ทำไม App ที่เขียนด้วย Visual Studio 2003 ภาษา VB ทำไม Up ขึ้น Server ไม่ได้ ผมลองเข้าไปดู ใน Server Extension มันก้อไม่มี สร้าง App มาใหม่เพื่อลองทดสอบ ก็ไม่ได้ มันฟ้องว่า หา File ไม่เจอ แน่ล่ะ!! ก็ IIS มันยังไม่ยอมรับ .aspx นี่

ทางแก้ไขก็ง่ายนิดเดียว

C:WINDOWSMicrosoft.NETFrameworkv1.1.4322(Frame Work Version ที่คุณใช้งาน โดยส่วนใหญ่ก็ 2 up)aspnet_regiis.exe -i

อย่างของผมก็

C:WINDOWSMicrosoft.NETFrameworkv1.1.4322aspnet_regiis.exe -i

จากนั้นก็ Enter แล้ว รอแป๊ปนึงก็จะพบ Message ว่าเรียบร้อยแล้ว จากนั้น ไปดูที่ Extension ก็จะมี ASP.Net Extension โผล่ขึ้นมาแล้วนั่นเอง

สาเหตุ

เพราะว่าลง Framework ก่อนลง IIS ตัว IIS เลยไม่ได้ลง Framework  (เขียนวนไปวนมาเนอะ)

คลิกเพื่ออ่าน Reference สำหรับ aspnet_regiis version เต็มๆ

MD5 ใน C# ให้มีค่าเท่ากับ MD5 ใน PHP

ต้องเขียนการเข้ารหัส MD5 ด้วย C# แต่เนื่องจากว่าหลังจากที่เขียนแบบปกติแล้ว Return Result กลับมาไม่ตรงกัน ลอง Search ๆ ในเน็ตดูแล้ว ปรากฏว่า มันต้องเอามาเขียนใหม่ให้เป็นแบบนี้

        public string MD5Hash(string txtPassword)
        {
            System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5CryptoServiceProvider.Create();
            byte[] dataMd5 = md5.ComputeHash(Encoding.Default.GetBytes(txtPassword));
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < dataMd5.Length; i++)
                sb.AppendFormat("{0:x2}", dataMd5[i]);
            return sb.ToString();
        }

จึงจะ Return Result มาเทียบเท่ากับ PHP ในการเขียน MD5 เลยทีเดียว

ปล. ผมจำแหล่งที่มาไม่ได้ แต่จำได้ว่าไปลอกเค้ามาอีกทีครับ ขออภัยที่ไม่ได้เครดิต

ทำ Folder ให้เป็น Drive

บางครั้ง Folder ที่เราใช้ บ่อยเราอาจจะแยกเป็น Drive เอาไว้ต่างหาก แต่ไม่อยากที่จะไปแบ่ง Partition ให้มันวุ่นวาย หรือ อาจจะทำเพื่อใช้โปรแกรมบางตัวเป็นครั้งคราว (พวกที่เคยเขียนไว้เก่าๆ ที่เรียกๆตรงๆ ไปที่ Drive นั้นๆเลย) การแก้ปัญหาแบบไม่ต้องใช้ Software แบบนี้ก็อาจจะเป็นการ Map Drive เข้าไปในเครื่องตัวเอง เช่น Map Share Folder “My Software” เป็น Drive Z เป็นต้น

แต่มันมี โปรแกรม ตัวนึงสำหรับการทำแบบนี้ (โดยไม่ต้องไป Map Drive Network) โปรแกรมมีชื่อว่า Visual Subst กับสโลแกน virtual drives in effect

หน้าตาโปรแกรมเป็นแบบนี้

ลองโหลดมาลองใช้งานกันดูครับ

หน้าตาโปรแกรมก็แบบตรงไปตรงมา ใช้งานง่ายลองโหลดมาดูมาชมกันครับ

“Unable to start debugging on the web server. The web server is not configured correctly.”

“Unable to start debugging on the web server.  The web server is not configured correctly.  See help for common configuration errors.  Running the web page outside of the debugger may provide further information.”

เมื่อพยายามจะ Run ASP.Net แบบมีการ Debug ก็ดันขึ้น Message Error ขึ้นมาดังข้างบน ปัญหานี้ผมเคยเจอหลายต่อหลายครั้ง แม้จว่าจะรู้ว่ามันเกิดขึ้นเพราะ ไม่ได้ Register .Net Framework ใน IIS แต่ไม่ทราบสาเหตุที่มันเกิดขึ้นจริงๆ

วันนี้เลยแวะไปอ่าน Greatfriends.biz ของคุณ KSM ตอบไว้ค่อนข้างชัดเจน เพราะว่า ผม ลง Visual Studio 2005 ก่อน ทำการลง ISS เลยขึ้น Message ดังข้างบน

อ่านเพิ่มเติม

เขียน Web Service ด้วย VS2005 ขึ้น Error Parser Error Message: Could not load type ‘_Default’

เขียน Web Service ด้วย Visual Studio 2005 แล้ว Upload ขึ้น Server ด้วย FTP แล้ว ลองเรียกหน้าที่เขียนดูจะพบ Error

Error Parser Error Message: Could not load type ‘_Default’

ลอง Search ดูจาก Google เช่นเคย พบทางแก้ไขปัญหาก็คือ ให้ทำการเปลี่ยน Version .Net Framwork จาก 1.2xx เป็น 2.0xx เท่านั้นก็สามารถแก้ไขปัญหาได้ เข้าไปแก้ ที่ IIS ตรง Tab ASP.Net นะครับ ดังรูป

อ่านจาก CoderLab แล้วลองทำตาม Work !!! ครับ

จัดการ Host File ใน Pocket PC ง่ายๆ ด้วย Pocket Host !!!

เมื่อต้องทำ Pocket PC Project แบบ Consume Web Service ตรงโน้นตรงนี้ ช่วงนี้เลยเก็บเล็กเก็บน้อยเรื่องนี้มาได้เยอะหน่อย หลายคนคงรู้กันดีว่า ใน windows หรือ linux ต่างมี host file ของตัวเอง คือ dns ย่อมๆ ของเราเอง สำหรับการ Map Domain กะ IP ภายในเครื่อง แต่แล้วก็สงสัยว่า อ้าวแล้ว Pocket PC มีหรือเปล่า เพราะว่า ทุกวันนี้มี Server ตัวนึง ต้องทำการ Map Ip อย่างที่ว่าอยู่เป็นปกตินี่แหละ ไอ้ครั้นจะไปเปิด Domain แล้วชี้ไปเลย ก็ไม่มีสิทธิทำขนาดนั้น เลยต้องหา วิธีการให้ Pocket มี Host file แทน ลอง Search จาก Google อีกเช่นเคย เค้าให้ไปแก้ใน Registry ของมัน ค่อนข้าง Hardcore เลยทีเดียว ตามไปอ่านได้ที่นี่
Lao K

หรือ สำหรับวิธีที่ง่ายกว่านั้น ก็มีโปรแกรมสำหรับจัดการพวกนี้เป็น Third Party ชื่อ Pocket Host ลองโหลดไปเล่นถ้าใครสนใจครับ Work!! 100%

hosts15 (เอามา host ไว้เอง เพราะว่าจะโหลดจาก Handango ได้วุ่นวายไปหน่อย)

 

หน้าตาเป็นแบบนี้หลังลงโปรแกรมแล้ว ใช้งานง่าย บริหารสะดวกครับ