URL: ชื่อผู้ใช้กับ @


125

ในการส่งชื่อผู้ใช้และรหัสผ่านพร้อม URL เราใช้โครงร่างนี้:

http://username:password@www.my_site.com

แต่ชื่อผู้ใช้ของฉันคือmy_email@gmail.com.
ปัญหาคือ@.

จะแก้ได้อย่างไร?


10
เข้ารหัส@เป็น%40.
Marc B

6
คุณไม่ต้องการใส่รหัสผ่านใน URL ของคุณเนื่องจากคุณอาจพยายามเข้าถึง URL โดยไม่ได้ตั้งใจผ่าน HTTP (ซึ่งคุณกำลังทำอยู่) ซึ่งหมายความว่าทุกคนที่มี Wireshark ในระยะ 50 เมตรจะมีรหัสผ่านและชื่อผู้ใช้ของคุณ
HoldOffHunger

คำตอบ:


182

คุณต้องเข้ารหัส URL เป็น% 40


1
ดี นอกจากนี้ยังใช้งานได้หากรหัสผ่านของคุณมี@ด้วยซึ่งมีแนวโน้มมากขึ้นเมื่อใช้รหัสผ่านแบบสุ่มที่ผู้จัดการรหัสผ่านสร้างขึ้น
Adambean

ฉันต้องทำสิ่งนี้กับอักขระทั้งหมดที่แตกต่างจากตัวอักษรและตัวเลขหรือไม่ ตัวอย่างเช่นถ้าชื่อผู้ใช้name.lastname@mail.comและรหัสผ่านของฉันฉันabc!@#ควรใช้name%2Elastname%40mail%2Ecomและabc%21%40%23?
m4l490n

19

ใช้% 40 ในชื่อผู้ใช้ของคุณแทนสัญลักษณ์ @ สำหรับการเข้ารหัส url มันควรจะผ่านไปอย่างถูกต้องแล้ว


ตอนนี้ใช้งานได้ดีที่ bitbucket ไม่อนุญาตให้ใช้ชื่อผู้ใช้ธรรมดาอีกต่อไป แต่ต้องใช้ชื่อผู้ใช้สไตล์ username@example.org
Jeroen Wiert Pluimers

14

แค่ทำ:

 http://my_email%40gmail.com:password@www.my_site.com

ฉันค่อนข้างแปลกใจที่ปัญหาเกิดจากชื่อผู้ใช้@ไม่ใช่รหัสผ่าน - โดยปกติแล้วนี่คือที่ที่ฉันได้รับอักขระที่สงวนไว้ในสิทธิ์ url หรือส่วนเส้นทาง

เพื่อแก้ปัญหากรณีทั่วไปของตัวละครพิเศษ: เพียงแค่เปิดคอนโซลโครเมี่ยมด้วยF12แล้ววาง encodeURIComponent(str)ที่strมีรหัสผ่านของคุณ (หรือชื่อผู้ใช้) และจากนั้นใช้ผลการเข้ารหัสให้กับฟอร์ม URL ด้วยรหัสผ่าน

หวังว่านี่จะช่วยคุณประหยัดเวลาได้บ้าง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.