A-AA+then

php จะใช้ฟังชั่นไรครับ แบบว่าเช็คไม่ให้ใช้พาสที่ขึ้นต้นด้วย 0 กั

1,376
จะทำไงครับ ใช้ฟังชั่นไรไม่ให้คนสมัครฟอร์ม พาส 123456 และ 123456789 แล้ว ขึ้นต้นด้วย 0 กับ8 อะครับ

รบกวนด้วย เขียนเสร็จ มีแต่คนสมัคร 123456 และเกิดปัญหาคนมั่วรหัส เข้า ด้วย 123456 แล้วผมโดยด่า - -*

รบกวนทีนะครับ

ขอบคุณมากๆ

6 ความคิดเห็น

555+++ แนวคิดไม่น่าจะถูกต้องนะ
ถ้าคิดจะป้องกันคนกรอก 123456 อะไรทำนองนี้แล้ว ผมว่า ยังมีอีกหลายรหัสที่ควรป้องกัน เช่น การใช้รหัสซ้ำๆ ดังนั้น ถ้าเป็น password การป้องกันไม่ให้เขากรอกรหัสผ่านที่เดาง่ายคงไม่สามารถทำได้ครับ

ที่ผมอยากจะสรุปก็คือ วิธีการที่ต้องการ ไม่น่าจะเป็นการแก้ปัญหา

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

หนทางที่น่าจะดีกว่า ก็เช่น

1.สุ่มรหัสผ่านให้เขาไปเลย จะได้เจอแต่รหัสผ่านที่จำยากๆ ซึ่งแน่นอน เดายาก
2.กำหนดให้รหัสผ่านต้องประกอบด้วย ตัวอักษร อย่างน้อย 1 ตัว หรือมากกว่า หรือไม่รับตัวเลขมันเลย
3.ไม่แสดง username บนระบบ เนื่องจากรหัสผ่านต้องใช้คู่กับ username ดังนั้นถ้าไม่รู้ username โอกาศก็จะน้อยลง


1

เห็นเว็บนี้ยังทำได้เลยนะครับ

https://www.tmtopup.com/?cmd=register

บบว่าใครกรอกพาสคนที่ขึ้นต้นว่า 0 กับ 8 อะครับ

รบกวนทีครับ
2

ก็คือจะเอาระบบแบบเขาอะครับ

ลองกรอกดูครับ 


ห้ามขึ้นต้นด้วย 0 และ 1234 และห้ามคล้ายกับชื่อ user

รบกวนทีครับ
3

ทำได้ครับ แต่มันก็ยังไม่ดีพอไง ในเมื่อมันมีวิธีอื่นที่ดีกว่า..

ฟังก์ชั่นเกี่ยวกับ string มีเยอะแยะครับ เข่น str_pos('1234', $password) หรือ preg_match('/^0(.*)$/', $password) ประมาณนี้ครับ
4

ทำเป็น ฟังชั่นให้ทีครับ งงมาก
5

อ้างจากคำตอบที่ #5ทำเป็น ฟังชั่นให้ทีครับ งงมาก

555+++

ตรวจทีละอย่างสิครับ ใม่ใช่เขียนคำสังเดียวตรวจซะทุกอย่าง
6
^