
ความปลอดภัยของ Rails
การป้องกัน CSRF, SQL injection, XSS, mass assignment, การจัดการ secrets, HTTPS
1Rails ใช้กลไกใดโดยค่าเริ่มต้นเพื่อป้องกันการโจมตีแบบ CSRF?
Rails ใช้กลไกใดโดยค่าเริ่มต้นเพื่อป้องกันการโจมตีแบบ CSRF?
คำตอบ
Rails สร้าง CSRF token ที่ไม่ซ้ำกันต่อหนึ่งเซสชันและแทรกลงในฟอร์มโดยอัตโนมัติผ่านฟิลด์ hidden โทเค็นนี้จะถูกตรวจสอบฝั่งเซิร์ฟเวอร์สำหรับทุกคำขอที่ไม่ใช่ GET เฮลเปอร์ form_with จะแทรกโทเค็นนี้โดยอัตโนมัติ และ protect_from_forgery เปิดใช้งานโดยค่าเริ่มต้นใน ApplicationController
2จะปิดการป้องกัน CSRF สำหรับ action เฉพาะใน API controller ได้อย่างไร?
จะปิดการป้องกัน CSRF สำหรับ action เฉพาะใน API controller ได้อย่างไร?
คำตอบ
เมธอด skip_before_action :verify_authenticity_token จะปิดการตรวจสอบ CSRF สำหรับ action เฉพาะ ซึ่งพบได้ทั่วไปใน API ที่ใช้การยืนยันตัวตนแบบ token (JWT, API key) แทน session แนะนำให้จำกัดข้อยกเว้นนี้เฉพาะ action ที่จำเป็นจริง ๆ โดยใช้ตัวเลือก only
3ช่องโหว่ใดที่ถูกใช้ประโยชน์ในโค้ดนี้: User.where("name = '#{params[:name]}'")?
ช่องโหว่ใดที่ถูกใช้ประโยชน์ในโค้ดนี้: User.where("name = '#{params[:name]}'")?
คำตอบ
การแทรก params โดยตรงในคำสั่ง SQL เปิดช่องให้เกิด SQL injection ผู้โจมตีสามารถส่ง name="'; DROP TABLE users; --" เพื่อรันโค้ด SQL ตามอำเภอใจได้ ให้ใช้ placeholder ของ ActiveRecord แทน: User.where(name: params[:name]) หรือ User.where("name = ?", params[:name])
เมธอด ActiveRecord ใดที่ป้องกัน SQL injection โดยอัตโนมัติ?
Rails ป้องกันการโจมตี XSS ในวิว ERB โดยอัตโนมัติอย่างไร?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Ruby on Rails อื่นๆ
พื้นฐาน Ruby
การเขียนโปรแกรมเชิงวัตถุใน Ruby
พื้นฐาน Rails
Routing & Controllers
พื้นฐาน ActiveRecord
Views และ ERB Templates
การเชื่อมโยงของ ActiveRecord
การสอบถาม ActiveRecord ขั้นสูง
ฟอร์ม Rails
การยืนยันตัวตนและการอนุญาต
Asset Pipeline สมัยใหม่และ frontend
โหมด API ของ Rails
การทดสอบด้วย RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
กลยุทธ์การ Caching
การ Migration ขั้นสูง
Rails Engines และแอปแบบโมดูลาร์
การเพิ่มประสิทธิภาพการทำงาน
Design Patterns ใน Rails
เมตาโปรแกรมมิงใน Ruby
GraphQL กับ Rails
การดีพลอยและโปรดักชัน
Monitoring & Logging
กลยุทธ์การอัปเกรด Rails
เชี่ยวชาญ Ruby on Rails สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี