ฉันมีปัญหาในการทำความเข้าใจแนวคิดหลักของ Symfony 2
ฉันกำลังทำงานบนเว็บไซต์ที่ผู้ใช้สามารถสร้างเนื้อหาซึ่งสามารถส่งไปยังบุคคลอื่นได้โดยใช้ URL ที่เป็นความลับ บางอย่างเช่น www.yoursite.com/{secret-identifier-string}
ฉันวางแผนที่จะทำเช่นนี้:
- คงอยู่ในเนื้อหาของผู้ใช้
- สร้างสตริงตัวระบุที่มีรหัสเนื้อหาและการประทับเวลาการสร้าง (หรือเนื้อหาอื่นใดที่จะไม่มีวันเปลี่ยนแปลงอีก เป็นคุณลักษณะด้านความปลอดภัยเพิ่มเติม) ด้วยวิธีการเข้ารหัสแบบสองทาง (เช่น
mcrypt_encrypt
) - สร้างลิงค์และแสดงให้ผู้ใช้เห็นเพื่อมอบให้
- เมื่อใดก็ตามที่มีการเรียก url สตริงตัวระบุจะถูกถอดรหัส หากการประทับเวลาที่ระบุตรงกับค่าที่สอดคล้องกันของแถวรหัสเนื้อหา เพจนั้นจะปรากฏขึ้น
คำถามของฉันคือ:
- คุณคิดว่านี่เป็นขั้นตอนที่ดีโดยทั่วไปหรือไม่ เพราะเหตุใด
- ภายนอก Symfony2 ฉันจะสร้างวิธีการช่วยเหลือเช่น
getIdentifierString()
และgetContentPageLink()
ฉันจะใส่รหัสที่เกี่ยวข้องใน Symfony2 ได้ที่ไหน มันอยู่ในคลาสเอนทิตีหรือไม่? ถ้าเป็นเช่นนั้นฉันกำลังประสบปัญหาเนื่องจากฉันใช้คลาสบริการสำหรับการเข้ารหัส บริการนี้มีอยู่ในคอนโทรลเลอร์เท่านั้น
ขอบคุณมาก!