לפעמים נוצר צורך להגן על תיקיה מסוימת באתר שלנו בסיסמה. כשאני אומר הגנה אני לא מתכוון להגנה שצריך להשתמש בה או שהיא עמידה במיוחד בפני פריצות. אלא הגנה זמנית בדרך כלל שנועדה לחסום חטטנים מזדמנים ומנועי חיפוש. דוגמא טובה לצורך כזה היא גרסת staging של אתר או אפליקציה. אנו רוצים לאפשר לבודקים לבדוק את האתר בגרסת ה-staging אך אנו לא רוצים שמנועי החיפוש יאנדקסו אותו או שגולשים מזדמנים שיקלידו staging.oursite.com ייכנסו אליו.
את זה קל מאד לעשות באמצעות סיסמה ב-htaccess. אנו יכולים להגדיר משתמשים וססמאות ולהגן על תיקיות או אפילו על קבצים ספציפיים. אני יוצא מנקודת הנחה שקובץ ה-htaccess אכן עובד בשרת שלכם ושיש לכם גישה לשרת ה-staging (אני בדרך כלל ממקם את ה-staging ואת ה-production באותו שרת).
יצירת משתמשים וסיסמאות
כל מה שצריך לעשות זה להכנס לתיקיה כלשהי – אני נכנס בדרך כלל לתיקיה הראשית של הפרויקט. מה שחשוב הוא לזכור את שם התיקיה. לאחר שנכנסנו, יש להקליד על גבי הקונסולה את המשפט הבא:
htpasswd -c .htpasswd USERNAME
כאשר ה-USERNAME הוא שם המשתמש שלנו, לאחר ההקלדה אנו נתבקש להזין את הסיסמה החדשה ו… זהו! נוצר לנו קובץ htpasswd. חביב בתיקיה שלנו. נזכור את ה-path ונלך לתיקיה שאנו רוצים להסתיר אותה.
יצירת ה-htaccess
לאחר שנכנסנו לתיקיה שאותה אנו רוצים להסתיר, ניצור שם htaccess. (או נפתח את הקיים) ונכניס:
AuthUserFile /full/path/to/.htpasswd
AuthType Basic
AuthName "pedo mellon a minno"
Require valid-user
כאשר /full/path/to/.htpasswd הוא כמובן הנתיב המלא לקובץ ה-htpasswd ו-pedo mellon a minno הוא המסר שאותו האתר מציג לפני הסיסמה (pedo mellon a minno למי שמתעניין זה 'Speak Friend, and enter' בשפת בני לילית משר הטבעות).
אם אנו רוצים להגן על קובץ ספציפי, נשתמש בקוד הבא:
AuthUserFile /full/path/to/.htpasswd
AuthType Basic
AuthName "My Secret Page"
<Files "mypage.html">
Require valid-user
</Files>
וזה הכל! אני לא משתמש בהגנה הזו כדי להגן על משהו מאד חשוב, כיוון שיחסית קל לפרוץ אותה. אבל היא מעולה להגנה מפני מנועי חיפוש ושאר רחרחנים.