static auth
2.1.2
วิธีที่ง่ายที่สุดในการเพิ่มการรับรองความถูกต้องพื้นฐานในเว็บไซต์คงที่ที่โฮสต์บน Vercel
ตอนแรกฉันสร้างสิ่งนี้เพื่อเพิ่มเลเยอร์การรับรองความถูกต้องในโครงการของฉันที่โฮสต์บน Vercel แต่สามารถใช้กับโมดูล http
ในตัวของ Node ได้เช่นกันและควรทำงานกับ Express
$ npm i static-auth -s
# or
$ yarn add static-auth
const auth = require ( 'static-auth' ) ;
// Example with Vercel
module . exports = auth (
'/admin' ,
( user , pass ) => ( user === 'admin' && pass === 'admin' ) // (1)
) ;
(1) การตรวจสอบข้อมูลรับรองผ่านตัวดำเนินการ
==
หรือ===
ทำให้รหัสของคุณมีความเสี่ยงต่อการโจมตีเวลา สิ่งนี้สามารถแก้ไขได้โดยใช้แพ็คเกจ Safe-Compare แทน
index.js
const auth = require ( 'static-auth' ) ;
// create a handler that will check for basic authentication before serving the files
const serveHandler = auth ( /* ... */ ) ;
// start the server
const http = require ( 'http' ) ;
const server = http . createServer ( serveHandler ) ;
server . listen ( 4444 , ( ) => console . log ( 'Listening on port 4444...' ) ) ;
auth(url, validator, [options])
ที่จำเป็น :
url
( สตริง ): URL พื้นฐานเพื่อป้องกันด้วยการตรวจสอบขั้นพื้นฐาน ใช้ /
เพื่อ จำกัด การเข้าถึงเว็บไซต์ทั้งหมดหรือ /<path>
(เช่น /admin
) เพื่อ จำกัด การเข้าถึงเฉพาะส่วนของเว็บไซต์ของคุณvalidator
( ฟังก์ชั่น ): ฟังก์ชั่นที่ยอมรับพารามิเตอร์สองตัว ( user
และ pass
) และส่งคืน true
หากข้อมูลรับรองการเข้าสู่ระบบที่ให้สิทธิ์การเข้าถึงพื้นที่ จำกัดไม่จำเป็น :
[options]
( วัตถุ ):[directory]
( สตริง , ค่าเริ่มต้นเป็น process.cwd()
): เส้นทางพื้นฐานเพื่อให้บริการสินทรัพย์คงที่จาก ตัวอย่างเช่นหากคำขอไปยัง my-website.com/app.css
ควรส่งคืนเนื้อหาของไฟล์ที่อยู่ที่ ./www/app.css
(เทียบกับสคริปต์โหนด) คุณควรตั้งค่าเป็น __dirname + '/www'
มิฉะนั้นสคริปต์จะมองหา ./app.css
- ซึ่งไม่มีอยู่ - และส่งคืน 404[onAuthFailed]
( ฟังก์ชั่น ): การโทรกลับที่รับพารามิเตอร์หนึ่งพารามิเตอร์ ( res
, วัตถุ http.ServerResponse
) มีประโยชน์หากคุณต้องการส่งคืนข้อความแสดงข้อผิดพลาดที่กำหนดเองหรือหน้า HTML เมื่อข้อมูลรับรองที่ให้ไว้นั้นไม่ถูกต้อง[realm]
( String , ค่าเริ่มต้นเป็น 'default-realm'
): ดูว่า "Realm" ในการตรวจสอบขั้นพื้นฐานคืออะไร (StackoverFlow)[serveStaticOptions]
( วัตถุค่า เริ่มต้นเป็น {}
): ตัวเลือกในการส่งผ่านไปยังโมดูล Serve-static พื้นฐานที่ใช้เพื่อให้บริการไฟล์ (ดูตัวอย่างการใช้งานที่นี่)