ซอฟต์แวร์สากลสำหรับร้านทำแว่นตา คลินิกจักษุวิทยา ห้องแก้ไขการติดต่อ ไดเร็กทอรีและเอกสาร

ซอฟต์แวร์สากลที่ออกแบบมาโดยเฉพาะสำหรับร้านทำแว่นตา คลินิกจักษุวิทยา สำนักงาน QC และจักษุแพทย์
ระดับใหม่ของการทำงานเชิงคุณภาพสำหรับร้านทำแว่นตาและจักษุแพทย์

โปรแกรมคอมพิวเตอร์ “อาร์โม พลัส”

(บัญชีการแพทย์และการค้า)

  • ไฟล์ลูกค้าแบบรวมในสถานที่ทำงานและสาขาทั้งหมด
  • ระบบส่วนลดที่ยืดหยุ่น ทำงานร่วมกับบัตรส่วนลด
  • การบำรุงรักษาและการบัญชีสำหรับการขายขายส่งและขายปลีก การบริการสำหรับการผลิตและการซ่อมแซมแว่นตา บริการทางการแพทย์
  • ป้อนและค้นหาข้อมูลตามชื่ออย่างรวดเร็วโดยใช้รหัสผ่านเครื่องสแกนบาร์โค้ด
  • การเพิ่มประสิทธิภาพคำขอการจัดหาสินค้าโดยใช้เทมเพลต การลดสินค้าคงคลังให้เหลือน้อยที่สุด
  • การป้อนข้อมูลการตรวจสุขภาพโดยอัตโนมัติและการสร้างบันทึกทางการแพทย์
  • การออกใบสั่งยาและการสร้างคำสั่งซื้อแว่นตาโดยอัตโนมัติ การบัญชีสำหรับการบริการของแพทย์และอาจารย์
  • การส่งข้อมูลการปฏิบัติงานตามเป้าหมายโดยใช้ข้อความ SMS เพื่อเชิญลูกค้ามาขอคำปรึกษาหรือเปลี่ยนเลนส์ตามกำหนดเวลา แจ้งเรื่องหุ้นบริษัท
  • รายงานสรุปและรายละเอียดเกี่ยวกับการเคลื่อนย้ายเงินสดและสินค้า การไหลเวียนของลูกค้า งานบุคลากร ผลลัพธ์ทางการเงิน
  • ความเป็นไปได้ในการดาวน์โหลดข้อมูลเพื่อใช้ในภายหลังใน 1C: การบัญชี ร้านค้าออนไลน์ และโปรแกรมอื่น ๆ
  • ติดตามกิจกรรมส่วนบุคคลของพนักงาน (การขาย การอ้างอิงสำหรับการตรวจสอบ การให้ส่วนลดแก่ลูกค้า ฯลฯ)
  • การกำหนดค่าการเข้าถึงฟังก์ชั่นโปรแกรมของผู้ใช้
  • การแลกเปลี่ยนข้อมูลอัตโนมัติระหว่างเวิร์กสเตชันระยะไกล (สาขา)
  • การป้องกันระดับสูงต่อการเข้าถึงและการคัดลอกข้อมูลโดยไม่ได้รับอนุญาต การเก็บถาวรฐานข้อมูลอัตโนมัติ

"ARMO plus" เป็นระบบที่ใช้เทคโนโลยีฐานข้อมูลแบบกระจาย

ออกแบบมาเพื่อระบบอัตโนมัติ:

ดำเนินการขายทั้งปลีกและส่ง

การประยุกต์ใช้ในการจัดหาสินค้าการควบคุมการเคลื่อนย้ายสินค้าและสินค้าคงเหลือในที่ทำงาน

การเก็บรักษาไฟล์ลูกค้าอิเล็กทรอนิกส์ด้วยข้อมูลจากการตรวจจักษุวิทยา บันทึกการตรวจให้คำปรึกษา การออกใบสั่งยา และคำสั่งแว่นตา

การจัดทำและการพิมพ์ข้อมูลการตรวจสุขภาพ

สร้างรายงานเกี่ยวกับการเคลื่อนย้ายเงินสดและสินค้า กระแสลูกค้า และผลการสำรวจ

เพื่อจัดระเบียบการดำเนินงานที่เชื่อถือได้และปลอดภัย โปรแกรมจะแบ่งออกเป็นบทบาทที่กำหนดสิทธิ์ของผู้ใช้และการเข้าถึงข้อมูล เทคโนโลยี ฐานข้อมูลแบบกระจายอนุญาตให้คุณดำเนินการ การดำเนินงานเครือข่ายร้านแว่นตาและสำนักงานจักษุวิทยา.

ไดเร็กทอรีและเอกสาร

สำหรับจัดเก็บและจัดระบบข้อมูล, กรอกเอกสาร, รายงาน, ไฟล์ผู้ป่วย ฯลฯ ได้อย่างรวดเร็ว ที่ให้ไว้ หนังสืออ้างอิง. ไดเร็กทอรีมีส่วนต่อประสานที่ใช้งานง่ายและการทำงานกับไดเร็กทอรีเหล่านี้ก็ทำได้ง่าย ด้วยความช่วยเหลือ เอกสารป้อนข้อมูลเกี่ยวกับธุรกรรมทางธุรกิจและการเงิน, ร้องขอสินค้า, ป้อนยอดคงเหลือ การเข้าถึงไดเร็กทอรีและเอกสารถูกกำหนดโดยผู้ดูแลระบบโปรแกรมการกำหนด "สิทธิ์" เฉพาะแก่ผู้ใช้

ความเป็นไปได้ในการดำเนินการต่างๆ พร้อมกัน

ไฟล์ไคลเอนต์

มีบทบาทพิเศษใน ARMO Plus ในการรักษาไฟล์ไคลเอนต์อิเล็กทรอนิกส์. ไฟล์ไคลเอนต์แบบรวมประกอบด้วยข้อมูลเกี่ยวกับข้อมูลหลัก ความทรงจำ การวินิจฉัย การมาเยี่ยม บันทึกการตรวจและการตรวจจักษุวิทยา ใบสั่งยา การสั่งซื้อแว่นตา ข้อมูลเกี่ยวกับการซื้อ การสมัคร และความก้าวหน้าของลูกค้า โปรแกรมสร้างรายงานการขาย คำสั่งซื้อ และการร้องขอจากลูกค้า และสารสกัดจากการตรวจทางจักษุวิทยา มีการตั้งค่าโครงการส่วนลดที่ยืดหยุ่นสำหรับลูกค้า มีระบบแจ้งเตือนผ่านข้อความ SMS และอีเมล์


รายงานพื้นฐานใน ARMO Plus

  • รายงานสรุปและรายละเอียดเกี่ยวกับรายได้ ค่าใช้จ่าย ยอดคงเหลือ ผลประกอบการ
  • รายงานรายได้
  • รายงานล่วงหน้าเกี่ยวกับเอกสารและไฟล์
  • รายงานการควบคุมราคาอุปโภคบริโภค
  • รายงานการสมัครและสั่งซื้อแว่นตา
  • รายงานอายุการเก็บรักษา
  • รายงานเอกสาร
  • รายงานเกี่ยวกับลูกค้า การเข้าชมที่คาดหวัง แหล่งที่มาของลูกค้า
  • รายงานส่วนลดลูกค้า
  • รายงานสรุปและรายละเอียดเกี่ยวกับบุคลากร

นอกเหนือจากฟังก์ชันการบัญชีและการวิเคราะห์แล้ว รายงานยังใช้ในการติดตามการทำงานของพนักงาน การขาย และกระแสลูกค้าอีกด้วย

ฐานข้อมูลแบบกระจายและการแลกเปลี่ยนข้อมูล

เทคโนโลยีฐานข้อมูลแบบกระจายช่วยให้สามารถทำงานของช่างแว่นตา สำนักงานจักษุวิทยา และสาขาต่างๆ ในทางภูมิศาสตร์ได้ ข้อมูลจะถูกส่งถึงกันผ่านแพ็กเก็ตการแลกเปลี่ยนทางอิเล็กทรอนิกส์ ด้วยเหตุนี้ การซิงโครไนซ์ข้อมูลจึงทำได้ที่เวิร์กสเตชันระยะไกล นี่คือวิธีที่มันถูกสร้างขึ้น ไฟล์ผู้ป่วยแบบครบวงจรและฐานข้อมูลอ้างอิงและเอกสารข้อมูล บริษัทที่ทำงานร่วมกับ ARMO Plus สามารถแลกเปลี่ยนข้อมูลระหว่างกันทางอิเล็กทรอนิกส์ได้


บริการดูแลฐานข้อมูล

มั่นใจในความน่าเชื่อถือของการดำเนินงานโดยวิธีการ การอนุรักษ์ฐานข้อมูล ข้อมูลที่บันทึกไว้สามารถเป็นได้เสมอ คืนค่า. ในการบีบอัดฐานข้อมูล จะมีการขนถ่ายข้อมูลและทำความสะอาด กระป๋อง ARMO plus อัปโหลดข้อมูลไปยังโปรแกรม 1C: Enterprise, Excel, ร้านค้าออนไลน์

วันนี้เราจะมาดูการใช้ประโยชน์จากช่องโหว่ที่สำคัญ 1 วันใน CMS Joomla ยอดนิยม ซึ่งระเบิดบนอินเทอร์เน็ตเมื่อปลายเดือนตุลาคม เราจะพูดถึงช่องโหว่ด้วยตัวเลข CVE-2016-8869, CVE-2016-8870และ CVE-2016-9081. ทั้งสามมาจากโค้ดชิ้นเดียวที่อิดโรยในส่วนลึกของเฟรมเวิร์กเป็นเวลาห้าปี รออยู่ในปีก เพียงเพื่อที่จะหลุดพ้นและนำมาซึ่งความสับสนวุ่นวาย ไซต์ที่ถูกแฮ็ก และน้ำตาของผู้ใช้ผู้บริสุทธิ์ของ Joomla นี้ มีเพียงนักพัฒนาที่กล้าหาญและกล้าหาญที่สุดเท่านั้นที่มีดวงตาแดงก่ำจากแสงของจอภาพและคีย์บอร์ดเกลื่อนไปด้วยเศษขนมปังเท่านั้นที่สามารถท้าทายวิญญาณชั่วร้ายที่บ้าคลั่งและวางหัวบนแท่นบูชาแห่งการแก้ไข

คำเตือน

ข้อมูลทั้งหมดมีไว้เพื่อวัตถุประสงค์ในการให้ข้อมูลเท่านั้น ทั้งบรรณาธิการและผู้เขียนจะไม่รับผิดชอบต่อความเสียหายใด ๆ ที่อาจเกิดขึ้นจากเนื้อหาในบทความนี้

ทุกอย่างเริ่มต้นที่ไหน

เมื่อวันที่ 6 ตุลาคม 2559 Demis Palma ได้สร้างหัวข้อบน Stack Exchange โดยเขาถามว่า: ทำไมในความเป็นจริงใน Joomla เวอร์ชัน 3.6 มีสองวิธีในการลงทะเบียนผู้ใช้ด้วยชื่อเดียวกัน register()? อันแรกอยู่ในตัวควบคุม UsersControllerRegistration และอันที่สองอยู่ในตัวควบคุม UsersControllerUser Damis ต้องการทราบว่ามีการใช้เมธอด UsersControllerUser::register() ที่ไหนสักแห่งหรือไม่ หรือเป็นเพียงวิวัฒนาการที่ผิดสมัยที่เหลืออยู่จากตรรกะเก่า ข้อกังวลของเขาคือแม้ว่าจะไม่ได้ใช้วิธีนี้กับมุมมองใดๆ แต่ก็สามารถเรียกได้โดยแบบสอบถามที่สร้างขึ้น ซึ่งฉันได้รับคำตอบจากนักพัฒนาภายใต้ชื่อเล่น itoctopus ซึ่งยืนยันว่า: ปัญหามีอยู่จริง และส่งรายงานไปยังผู้พัฒนา Joomla

จากนั้นเหตุการณ์ต่างๆก็พัฒนาขึ้นอย่างรวดเร็วที่สุด เมื่อวันที่ 18 ตุลาคม นักพัฒนา Joomla ยอมรับรายงานจาก Damis ซึ่งในเวลานั้นได้ร่าง PoC ที่จะอนุญาตให้ผู้ใช้ลงทะเบียนได้ เขาตีพิมพ์บันทึกบนเว็บไซต์ของเขา ซึ่งเขาพูดโดยทั่วไปเกี่ยวกับปัญหาที่เขาพบและความคิดของเขาเกี่ยวกับเรื่องนี้ ในวันเดียวกันนั้น Joomla 3.6.3 เวอร์ชันใหม่ก็ออกวางจำหน่าย ซึ่งยังคงมีโค้ดที่มีช่องโหว่อยู่

หลังจากนี้ Davide Tampellini หมุนจุดบกพร่องจนถึงจุดที่ลงทะเบียนไม่ใช่ผู้ใช้ทั่วไป แต่เป็นผู้ดูแลระบบ และในวันที่ 21 ตุลาคม คดีใหม่ก็มาถึงทีมรักษาความปลอดภัยของ Joomla มันพูดถึงการเพิ่มสิทธิพิเศษแล้ว ในวันเดียวกันนั้น มีประกาศปรากฏบนเว็บไซต์ Joomla ว่าในวันอังคารที่ 25 ตุลาคม เวอร์ชันถัดไปที่มีหมายเลขซีเรียล 3.6.3 จะเปิดตัว ซึ่งแก้ไขช่องโหว่ร้ายแรงในเคอร์เนลของระบบ

25 ตุลาคม ทีม Joomla Security Strike พบปัญหาล่าสุดที่สร้างโดยโค้ดที่ค้นพบโดย Damis จากนั้นคอมมิตลงวันที่ 21 ตุลาคมด้วยชื่อที่ไม่เด่น เตรียม 3.6.4 Stable Release จะถูกผลักเข้าไปในสาขาหลักของที่เก็บ Joomla อย่างเป็นทางการ ซึ่งแก้ไขข้อบกพร่องที่โชคร้าย

หลังจากการเปิดตัวนี้ ผู้สนใจจำนวนมากเข้าร่วมชุมชนนักพัฒนา - พวกเขาเริ่มส่งเสริมช่องโหว่และเตรียมการหาประโยชน์

เมื่อวันที่ 27 ตุลาคม นักวิจัย Harry Roberts อัปโหลดช่องโหว่สำเร็จรูปไปยังพื้นที่เก็บข้อมูล Xiphos Research ซึ่งสามารถอัปโหลดไฟล์ PHP ไปยังเซิร์ฟเวอร์ที่มี CMS ที่มีช่องโหว่

รายละเอียด

พื้นหลังจบลงแล้ว มาดูส่วนที่น่าสนใจที่สุดกันดีกว่า - การวิเคราะห์ช่องโหว่ ฉันติดตั้ง Joomla 3.6.3 เป็นเวอร์ชันทดสอบ ดังนั้นหมายเลขบรรทัดทั้งหมดจะเกี่ยวข้องกับเวอร์ชันนี้ และเส้นทางทั้งหมดไปยังไฟล์ที่คุณจะเห็นด้านล่างจะถูกระบุโดยสัมพันธ์กับรูทของ CMS ที่ติดตั้ง

ต้องขอบคุณการค้นพบของ Damis Palma ที่ทำให้เรารู้ว่ามีสองวิธีที่ทำการลงทะเบียนผู้ใช้ในระบบ อันแรกถูกใช้โดย CMS และอยู่ในไฟล์ /components/com_users/controllers/registration.php:108 อันที่สอง (อันที่เราจะต้องเรียก) อยู่ใน /components/com_users/controllers/user.php:293 เรามาดูกันดีกว่า

286: /** 287: * วิธีการลงทะเบียนผู้ใช้. 288: * 289: * @return boolean 290: * 291: * @since 1.6 292: */ 293: public function register() 294: ( 295: JSession::checkToken("post") หรือ jexit(JText::_ ("JINVALID_TOKEN")); ... 300: // รับข้อมูลแบบฟอร์ม 301: $data = $this->input->post->get("user", array(), "array"); . .. 315: $return = $model->validate($form, $data); 316: 317: // ตรวจสอบข้อผิดพลาด 318: if ($return === false) 319: ( ... 345: / / เสร็จสิ้นการลงทะเบียน 346: $return = $model->register($data);

ที่นี่ฉันเหลือเพียงบรรทัดที่น่าสนใจเท่านั้น สามารถดูเวอร์ชันเต็มของวิธีการที่มีช่องโหว่ได้ในพื้นที่เก็บข้อมูล Joomla

มาดูกันว่าเกิดอะไรขึ้นระหว่างการลงทะเบียนผู้ใช้ปกติ: ข้อมูลใดที่ถูกส่งไปและประมวลผลอย่างไร หากเปิดใช้งานการลงทะเบียนผู้ใช้ในการตั้งค่า สามารถดูแบบฟอร์มได้ที่ http://joomla.local/index.php/component/users/?view=registration


คำขอลงทะเบียนผู้ใช้ที่ถูกต้องตามกฎหมายจะมีลักษณะเหมือนภาพหน้าจอต่อไปนี้


องค์ประกอบ com_users มีหน้าที่รับผิดชอบในการทำงานกับผู้ใช้ ให้ความสนใจกับพารามิเตอร์งานในคำขอ มันมีรูปแบบ $controller.$method มาดูโครงสร้างไฟล์กัน

ชื่อของสคริปต์ในโฟลเดอร์ ตัวควบคุมสอดคล้องกับชื่อของตัวควบคุมที่เรียกว่า เนื่องจากคำขอของเราตอนนี้มี $controller = "registration" ไฟล์จึงจะถูกเรียก register.phpและวิธีการ register()

ความสนใจคำถาม: จะถ่ายโอนการประมวลผลการลงทะเบียนไปยังตำแหน่งที่มีช่องโหว่ในรหัสได้อย่างไร คุณคงเดาได้แล้ว ชื่อของเมธอดที่มีช่องโหว่และเมธอดจริงนั้นเหมือนกัน (ลงทะเบียน) ดังนั้นเราเพียงแค่ต้องเปลี่ยนชื่อของคอนโทรลเลอร์ที่เรียกว่า ตัวควบคุมที่มีช่องโหว่ของเราอยู่ที่ไหน? ถูกต้องในไฟล์ user.php. $controller = "user" ปรากฎว่า เมื่อรวมทุกอย่างเข้าด้วยกันแล้ว เราก็จะได้ job = user.register ตอนนี้คำขอลงทะเบียนได้รับการประมวลผลตามวิธีที่เราต้องการ


สิ่งที่สองที่เราต้องทำคือส่งข้อมูลในรูปแบบที่ถูกต้อง ทุกอย่างเรียบง่ายที่นี่ register() ที่ถูกต้องตามกฎหมายคาดหวังจากเราถึงอาร์เรย์ที่เรียกว่า jform ซึ่งเราส่งข้อมูลการลงทะเบียน - ชื่อ การเข้าสู่ระบบ รหัสผ่าน อีเมล (ดูภาพหน้าจอพร้อมกับคำขอ)

  • /components/com_users/controllers/registration.php: 124: // รับข้อมูลผู้ใช้ 125: $requestData = $this->input->post->get("jform", array(), "array");

ลูกค้าของเราได้รับข้อมูลนี้จากอาร์เรย์ที่เรียกว่าผู้ใช้

  • /components/com_users/controllers/user.php: 301: // รับข้อมูลแบบฟอร์ม 302: $data = $this->input->post->get("user", array(), "array");

ดังนั้นเราจึงเปลี่ยนชื่อของพารามิเตอร์ทั้งหมดในคำขอจาก jfrom เป็น user

ขั้นตอนที่สามของเราคือการค้นหาโทเค็น CSRF ที่ถูกต้อง เนื่องจากหากไม่มีโทเค็น ก็จะไม่มีการลงทะเบียน

  • /components/com_users/controllers/user.php: 296: JSession::checkToken("post") หรือ jexit(JText::_("JINVALID_TOKEN"));

ดูเหมือนแฮช MD5 และคุณสามารถทำได้จากแบบฟอร์มการอนุญาตบนเว็บไซต์ /index.php/component/users/?view=login


ตอนนี้คุณสามารถสร้างผู้ใช้โดยใช้วิธีที่ต้องการได้ หากทุกอย่างได้ผลก็ขอแสดงความยินดีด้วย - คุณเพิ่งใช้ประโยชน์จากช่องโหว่ CVE-2016-8870"การตรวจสอบสิทธิ์ที่ขาดหายไปสำหรับการลงทะเบียนผู้ใช้ใหม่"

นี่คือลักษณะที่ดูเหมือนในเมธอด "การทำงาน" register() จากตัวควบคุม UsersControllerRegistration:

  • /components/com_users/controllers/registration.php: 113: // หากการลงทะเบียนถูกปิดใช้งาน - เปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบ 114: if (JComponentHelper::getParams("com_users")->get("allowUserRegistration") == 0) 115: ( 116: $this->setRedirect(JRoute::_("index.php?option=com_users&view=) เข้าสู่ระบบ", เท็จ)); 117: 118: กลับเท็จ 119: )

และในภาวะเปราะบาง:

  • /ส่วนประกอบ/com_users/คอนโทรลเลอร์/user.php:

ใช่ไม่มีทาง

เพื่อทำความเข้าใจปัญหาที่สองที่ร้ายแรงกว่านี้ มาส่งคำขอที่เราสร้างขึ้นและดูวิธีการดำเนินการในส่วนต่างๆ ของโค้ดกันดีกว่า นี่คือส่วนที่รับผิดชอบในการตรวจสอบข้อมูลที่ผู้ใช้ส่งมาในวิธีการของผู้ปฏิบัติงาน:

ความต่อเนื่องมีให้เฉพาะสมาชิกเท่านั้น

ตัวเลือกที่ 1 เข้าร่วมชุมชน "ไซต์" เพื่ออ่านเนื้อหาทั้งหมดบนเว็บไซต์

การเป็นสมาชิกในชุมชนภายในระยะเวลาที่กำหนดจะทำให้คุณสามารถเข้าถึงเอกสารของแฮ็กเกอร์ทั้งหมด เพิ่มส่วนลดสะสมส่วนบุคคลของคุณและช่วยให้คุณสามารถสะสมคะแนน Xakep Score แบบมืออาชีพได้!

ใน Joomla หลังจากลงทะเบียนสำเร็จ ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยัง a หน้าเข้าสู่ระบบ(หากไม่จำเป็นต้องเปิดใช้งานบัญชี) จากนั้น (หลังจากเข้าสู่ระบบ) ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยัง ประวัติผู้ใช้หน้าหนังสือ. สิ่งนี้จะเกิดขึ้นแม้ว่าคุณจะตั้งค่าการเปลี่ยนเส้นทางการเข้าสู่ระบบเป็นอย่างอื่นก็ตาม โมดูลแบบฟอร์มเข้าสู่ระบบ.

หากต้องการเปลี่ยนพฤติกรรมนี้ คุณสามารถเปลี่ยนเส้นทางผู้ใช้หลังจากลงทะเบียนไปยังหน้าอื่นบนเว็บไซต์ของคุณได้
ในการดำเนินการนี้ คุณจะต้องแก้ไขไฟล์ Joomla หลัก โปรดทราบว่าการเปลี่ยนแปลงของคุณอาจถูกเขียนทับโดยการอัปเดต Joomla บันทึกการเปลี่ยนแปลงที่คุณทำกับไฟล์ Joomla หลักเสมอ เพื่อให้คุณสามารถทำใหม่ได้อย่างรวดเร็วหากจำเป็น

เปิดไฟล์:
ส่วนประกอบ/com_users/controllers/registration.php

เลื่อนลงไปด้านล่างสุด บรรทัดเริ่มต้น 162 คุณจะมีโค้ดต่อเนื่อง:

if ($return === "adminactivate" ) ( $this -> setMessage (JText:: _() ) ; $this -> setRedirect (JRoute:: _(, false ) ) ; ) else if ($return == = "useractivate" ) ( $this -> setMessage (JText::_() ) ; $this -> setRedirect (JRoute::_( "index.php?option=com_users&view=registration&layout=complete", เท็จ ) ) ; ) else ( $this -> setMessage (JText::_() ) ; $this -> setRedirect (JRoute::_( "index.php?option=com_users&view=login", เท็จ ) ) ; )

ในส่วนนี้คุณมี 3 ลิงก์เริ่มต้นที่ index.php?

  • อันแรก () จะถูกดำเนินการหลังจากการลงทะเบียนผู้ใช้ หากผู้ดูแลระบบต้องเปิดใช้งานบัญชี
  • ที่สอง ( index.php?option=com_users&view=registration&layout=complete) หากผู้ใช้ต้องเปิดใช้งานบัญชี
  • ที่สาม ( index.php?option=com_users&view=login) หากไม่จำเป็นต้องเปิดใช้งานบัญชี

แทนที่ลิงก์โดยขึ้นอยู่กับประเภทของการลงทะเบียนที่คุณใช้กับ URL แบบเต็มของหน้าการเปลี่ยนเส้นทางของคุณและคุณทำเสร็จแล้ว
ตัวอย่างเช่น หากไม่จำเป็นต้องเปิดใช้งานผู้ใช้บนเว็บไซต์ของฉัน และฉันต้องการเปลี่ยนเส้นทางผู้ใช้หลังจากลงทะเบียนไปที่ http://www.mywebsite.com/welcome-regรหัสที่อัปเดตจะเป็น:

// เปลี่ยนเส้นทางไปยังหน้าจอโปรไฟล์ if ($return === "adminactivate" ) ( $this -> setMessage (JText::_( "COM_USERS_REGISTRATION_COMPLETE_VERIFY") ) ; $นี่ -> setRedirect(JRoute::_( "index.php?option=com_users&view=registration&layout=complete", เท็จ ) ) ; ) else if ($return === "useractivate" ) ( $this -> setMessage (JText::_( "COM_USERS_REGISTRATION_COMPLETE_ACTIVATE") ) ; $นี่ -> setRedirect(JRoute::_( "index.php?option=com_users&view=registration&layout=complete", เท็จ ) ) ; ) else ( $นี่ -> setMessage (JText::_( "COM_USERS_REGISTRATION_SAVE_SUCCESS") ) ; $นี่ -> setRedirect(JRoute::_( "http://www.mywebsite.com/welcome-reg" , เท็จ ) ) ; )

ไม่ว่าคุณจะเปลี่ยนเส้นทางไปยังหน้าใดบนเว็บไซต์ของคุณ ข้อความระบบ " ขอบคุณสำหรับการลงทะเบียน..." จะยังคงแสดงอยู่ หากคุณไม่ต้องการข้อความนี้ ให้ลบบรรทัดเต็มด้านบน URL การเปลี่ยนเส้นทางของคุณ เช่น. $นี่->setMessage(JText::_("COM_USERS_REGISTRATION_SAVE_SUCCESS"));

หากคุณไม่ต้องการเปิดใช้งานบัญชี (ตั้งค่าการเปิดใช้งานบัญชีผู้ใช้ใหม่เป็น ไม่มี) นี่คือทั้งหมดที่คุณต้องหลีกเลี่ยงหน้าโปรไฟล์ผู้ใช้ อย่างไรก็ตาม หากผู้ใช้ต้องเปิดใช้งานบัญชีผ่านทางอีเมล (ตั้งค่าการเปิดใช้งานบัญชีเป็น ตัวเอง) นี่อาจไม่เพียงพอ ทันทีหลังจากการลงทะเบียน ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าเว็บที่คุณระบุไว้ในโค้ดตามที่คาดไว้ อย่างไรก็ตาม เมื่อผู้ใช้คลิกลิงก์ในอีเมลเปิดใช้งาน พวกเขาจะถูกพาไปยังแบบฟอร์มเข้าสู่ระบบที่กล่าวไว้ก่อนหน้านี้ และหากพวกเขาใช้เพื่อเข้าสู่ระบบ พวกเขาจะไปที่หน้าโปรไฟล์ผู้ใช้ เพื่อป้องกันสิ่งนี้ คุณสามารถปิดการใช้งานหน้าโปรไฟล์ผู้ใช้ได้อย่างสมบูรณ์ และเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าใดก็ได้ที่คุณต้องการแทน อ่านบทความนี้เพื่อหาวิธี

จูมล่า 1.6
จูมล่า 1.7
จูมล่า 2.5

บทความที่คล้ายกัน