เวลาที่เราสร้างเบอร์ Extensions ในหน้าเว็บ Elastix หรือ FreePBX เวอร์ชั่นใหม่ๆ รู้สึกรำคาญมั๊ยครับที่เวลาเราเผลอเซ็ตพาสเวอร์ดในช่อง secret มีแต่ตัวเลขอย่างเดียวและ/หรือความยาวไม่ถึง 6 ตัว มันจะฟ้องขึ้นมาว่า
"The secret must be at minimum six characters in length"
ตามรูปเลยครับ
ผมมีเทคนิคเล็กๆน้อยๆที่จะทำให้มันไม่ฟ้อง Error ซึ่งก็หมายความว่าเราสามารถตั้ง password ยังไงก็ได้ที่เราอยากตั้ง วิธีการก็มีดังต่อไปนี้ครับ
1. เปิดไฟล์ /var/www/html/admin/common/script.js.php
แล้วค้นหา function weakSecret()
จะได้แบบนี้
- โค้ด: เลือกทั้งหมด
function weakSecret()
{
var password = document.getElementById('devinfo_secret').value;
var origional_password = document.getElementById('devinfo_secret_origional').value;
if (password == origional_password)
{
return false;
}
if (password.length <= 5)
{
alert('<?php echo _("The secret must be at minimum six characters in length."); ?>');
return true;
}
if (password.match(/[a-z].*[a-z]/i) == null || password.match(/\d\D*\d/) == null)
{
alert('<?php echo _("The secret must contain at least two numbers and two letters."); ?>');
return true;
}
return false;
}
2. ให้เพิ่มบรรทัด return false;
ไว้บนสุดของ function weakSecret แบบนี้ครับ
- โค้ด: เลือกทั้งหมด
function weakSecret()
{
return false;
var password = document.getElementById('devinfo_secret').value;
var origional_password = document.getElementById('devinfo_secret_origional').value;
if (password == origional_password)
{
return false;
}
if (password.length <= 5)
{
alert('<?php echo _("The secret must be at minimum six characters in length."); ?>');
return true;
}
if (password.match(/[a-z].*[a-z]/i) == null || password.match(/\d\D*\d/) == null)
{
alert('<?php echo _("The secret must contain at least two numbers and two letters."); ?>');
return true;
}
return false;
}
ซึ่งจะทำให้เมื่อมีการเรียกใช้ฟังก์ชั่นนี้ เข้ามาก็ออกไปเลย รีเทอร์นกลับไปด้วย false ซึ่งแสดงว่า secret ไม่เข้าเงื่อนไขสักกรณี หลอกโปรแกรมว่า secret ของเรามัน strong
3. เซฟไฟล์
4. ล๊อกเอ๊าท์ออกจาก Elastix
5. ลบ Cache ของ Web Browser
ข้อนี้ก็สำคัญครับ ต้องลบ cache ด้วยนะครับ
6. ล๊อกอินเข้า Elastix
7. เทส
ลองดูครับ
หากทำตามแล้วยังเหมือนเดิม ลองเทคนิคต่อไปนี้ครับ
1. สร้างเบอร์ Extension ใน freePBX แทน
http://x.x.x.x/admin
หาก Elastix ฟ้องว่าไม่ให้เข้า ต้อง Enable ใน Elastix ก่อนนะครับ แถบบนสุดคลิ๊กรูปลูกศรชี้ลง เลือก Security คลิ๊ก Advanced Settings
Enable direct access (Non-embedded) to FreePBX = yes
ส่วน 2 ช่องด้านขวามือให้ใส่ Password ที่จะเข้า freePBX ใส่อะไรก็ได้ แต่แนะนำว่าควรใส่พาสเวอร์ดเดียวกับ Elastix ครับ จะได้ไม่ต้องจำเยอะ (ถึงจะไม่ค่อยดีในแง่ความปลอดภัยก็เถอะ)