ระบบเช็คยอดโอนอัตโนมัติ ทำยังไง และปลอดภัยแค่ไหน
ระบบเช็คยอดโอนอัตโนมัติ ทำยังไง และปลอดภัยแค่ไหน
ปัญหาอย่างหนึ่งของการขายของออนไลน์คือ การตรวจสอบยอดการโอน สินค้าบางอย่างราคาไม่ได้สูงมาก อาจจะหลักสิบ หลักร้อยบาท แต่วันหนึ่งขายได้หลายชิ้น มียอดโอนเข้า ก็ต้องตรวจสอบก่อนส่งสินค้า หรือบางร้าน มีบัญชีหลายธนาคารเพื่อเป็นช่องทางให้ลูกค้าเลือกโอนได้สะดวกสบาย จะเช็คยอดโอนเข้าทีหนึ่งก็ต้องเข้าระบบของธนาคารนั้น ๆ ตรวจสอบกันไป จะให้ชัวร์ก็ต้องก๊อปปี้ยอดมาลงใน excel และทำติ๊กว่า ยอดไหนยืนยันการโอน และส่งของ
การทำแบบนี้ทำให้พ่อค่าแม่ค้าที่ควรจะเอาเวลาไปนั่ง live ขายของ หมดไปกับการเช็คยอด นั่นคือเหตุผลว่า ระบบเช็คยอดโอนอัตโนมัตินั้น จำเป็นสำหรับคนขายของออนไลน์อย่างมาก
เคยสงสัยกันไหมครับว่า พ่อค้าแม่ค้าเขาเช็คยอดโอนเงินจากตู้ ATM ของทุกธนาคารกันได้ยังไง แบบเรียลไทม์ บางทีมีทำแอปขึ้นมาใช้งานเองอีกด้วย มี notification แจ้งทุกยอด
ปัจจุบันมีการพัฒนาและขายระบบเช็คยอดโอนอัตโนมัติ เมื่อมีการโอนเงินเข้าบัญชีกลาง ระบบจะตรวจสอบยอดเงินและเวลาที่โอนแบบอัตโนมัติ หลังจากเช็คยอดเงินว่ามีการโอนเข้ามาจริงเรียบร้อยแล้ว ขั้นตอนต่อไปก็จะเป็นการทำงานแบบอัตโนมัติต่อไปอีก เช่น การเติมเหรียญ หรือการเติมเงินเข้าบัญชีออนไลน์อัตโนมัติ เป็นต้น
แน่นอนว่าระบบนี้มีประโยชน์อย่างมาก เมื่อนำไปใช้งานกับแทบทุกธุรกิจ พ่อค้า แม่ค้าออนไลน์ชอบมาก แต่เป็นระบบที่ไม่ได้รับการรับรองจากธนาคาร หมายความว่าธนาคารไม่ได้มี API ใด ๆ ให้เรียกใช้งาน และเมื่อธนาคารไม่ได้พัฒนา API กลางให้นักพัฒนาใช้งาน คำถามคือ สคลิปต์ที่ขายกันทั่วไปนี้ เป็นระบบที่ดี มีประโยชน์ แต่มีความปลอดภัยมากน้อยแค่ไหน คำถามนี้จะมีคำตอบในกระทู้นี้ครับ
ระบบเช็คยอดโอนอัตโนมัติทำงานอย่างไร ?
ระบบเช็คยอดโอนอัตโนมัติ ทำงานเหมือนโปรแกรม bot โปรแกรมเมอร์จะเขียนคำสั่งไว้บนฝั่ง server ทำงานเหมือนมนุษย์คนหนึ่งที่กำลังเข้าหน้าเว็บไซต์สำหรับเข้าสู่ระบบของ online banking จากนั้นก็กรอก username & password และสั่ง submit ข้อมูล ยกตัวอย่างเช่น ถ้าเราจะเข้าเว็บไซต์ testingcurl.com โดยผ่าน url บนเว็บไซต์ของเราเอง จะใช้คำสั่ง curl อ่านว่า (ซี ยูอาร์แอล) เพื่อดึงข้อมูลมาได้ดังนี้
1 2 3 4 |
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.testingcurl.com'); curl_setopt($ch, CURLOPT_HTTPGET, 1); $html = curl_exec($ch); |
การ submit ข้อมูลนั้นบางระบบอาจจะใช้การส่งข้อมูล เมื่อมีการ click หรือผู้ใช้งานจะตรวจสอบยอดเงินโอนในแต่ละรอบ บางโปรแกรมอาจจะมีการใช้ cronjob อ่านเพิ่มเติมเกี่ยวกับการใช้งาน cronjob ได้ที่ CronJob คืออะไร วิธีตั้งเวลาให้ PHP ทำงาน ในการสั่งให้โปรแกรมทำงานแบบอัตโนมัติตามช่วงเวลาที่กำหนดเองได้ เช่น อาจจะสั่งให้ไปตรวจสอบยอดเงินทุก ๆ 5 นาทีเป็นต้น ยกตัวอย่างการเข้าระบบโดยใช้คำสั่ง curl
1 2 3 4 5 6 7 8 9 10 |
$form_field = array(); $form_field['email'] = 'xxx@gmail.com'; $form_field['pass'] = '*****'; foreach($form_field as $key => $value) { $postvar .= $key . '=' . urlencode($value) . '&'; } curl_setopt($ch, CURLOPT_URL, 'https://www.testingcurl.com/login'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar); curl_exec($ch); |
โดยปกติแล้วระบบ online banking ของทุกธนาคารเมื่อเข้าสู่ระบบแล้วจะไม่ได้แสดงรายการโอนเงินทันที่ เราจะต้องเลือกเมนูที่จะดูรายการเงินโอนก่อน ระบบเช็คยอดโอนอัตโนมัติ ก็จะทำงานแบบนั้นครับ คือเมื่อเข้าระบบได้ ก็จะเขียนคำสั่ง auto click ไปยังหน้านั้น ๆ แบบอัตโนมัติ และเมื่อเจอรายการที่ต้องการ ก็จะทำการโหลดข้อมูล html หน้านั้นมา ซึ่งโดยปกติก็จะอยู่ในรูปแบบของตาราง tr/td เมื่อถึงขั้นตอนนี้ ตัวโปรแกรมจะสามารถรู้ยอดโอน และเวลาที่โอน ตัวแปร 2 ตัวนี้สามารถนำมาตรวจสอบที่ฐานข้อมูลหลักของเว็บไซต์ได้ ว่า มีการโอนเงินเข้ามาจริงหรือไม่
ความปลอดภัยของระบบเช็คยอดโอนอัตโนมัติ
แน่นอนครับเมื่อมันเป็นการเข้าใช้งาน online banking แบบปกติ กล่าวคือยังต้องใช้ไอดีและรหัสในการเข้าระบบ เพียงแต่เปลี่ยนจากมนุษย์เจ้าของบัญชีเป็นคนกรอกไอดีและรหัสผ่านเข้าไปตรวจสอบแบบ manual เปลี่ยนเป็นการพัฒนาโปรแกรมกรอกข้อมูลอัตโนมัติเข้าไปใช้งานแทน ความไม่ปลอดภัยจึงขึ้นอยู่กับว่า ระบบที่ถูกพัฒนาขึ้นมานั้นใครเป็นผู้พัฒนา มีการฝังสคริปต์ดักไอดีและรหัสเอาไว้หรือป่าว ไอดีและรหัสผ่านมีการเข้ารหัสหรือป่าวและถ้าเข้ารหัสแล้วตัวโปรแกรมถูกวางไว้บน Server ที่ไว้ใจได้หรือป่าว
เหตุผลก็เพราะว่า ไม่ว่าไอดีหรือรหัสบัญชีใด จะถูกเข้ารหัสดีแค่ไหน ถ้ามีใครก็ตามที่สามารถเข้าถึงไฟล์นั้นได้ ก็จะสามารถเขียนคำสั่งเพิ่มเติม จากที่แค่ตรวจสอบยอดเงินโอน ก็จะกลายเป็น โอนเงินเข้าบัญชีอื่นได้ด้วย
จะทำอย่างไรให้ปลอดภัย (เท่าที่จะทำได้)
- 1. คุณซึ่งเป็นเจ้าของบัญชีต้องสามารถเข้ารหัสเอง account เองได้
- 2. ต้องมีทีมที่ไว้ใจได้ในการตรวจสอบ coding ของระบบ
- 3. ระบบต้องไม่มีช่องโหว่ ต้องมีระบบป้องกันการโจมตีภายในตัว
- 4. Server ที่ใช้ run โปรแกรม ต้องสามารถเข้าถึงได้เฉพาะทีมเท่านั้น ไม่ไช่ Share Server
- 5. Server ต้องตั้งอยู่บน IDC ที่ไว้ใจได้ มีการดูแลความปลอดภัยอย่างดี
ข้อดีของระบบเช็คยอดโอนอัตโนมัติ
- 1. ตรวจสอบเงินเข้าบัญชีได้แบบ real time
- 2. ตรวจสอบพร้อม ๆ กันหลายบัญชีได้
- 3. ตรวจสอบยอดเงินได้ทุกธนาคาร
- 4. เป็นระเบียบ จัดการยอดเงินได้ง่าย ประหยัดเวลาในการตรวจสอบ
- 5. สามารถประยุกต์ใช้ได้กับทุกธุรกิจ