סיסמא לאתר אינטרנט
-
כן בphp אפשר
זה ההגדרה<?php $valid_passwords = array ("user" => "pass"); $valid_users = array_keys($valid_passwords); $user = $_SERVER['PHP_AUTH_USER']; $pass = $_SERVER['PHP_AUTH_PW']; $validated = (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]); if (!$validated) { header('WWW-Authenticate: Basic realm="My Realm"'); header('HTTP/1.0 401 Unauthorized'); die ("לא בוצע אימות"); } ?>
בשורה 2 אתה קובע את השם משתמש (שזה עכשיו user ) והסיסמה (שהיא עכשיו pass )
(קרדיט ל @שמואל ) -
@שמואל אמר בסיסמא לאתר אינטרנט:
@ענן אתה גם יכול לעשות זאת ברמת האפאצ'י = כלומר לחסום גישה לכל ה VirtualHost שאתה מגדיר את זה.
זה טיפה יותר מורכב.איך עושים את זה?
@שמואל אמר בסיסמא לאתר אינטרנט:
אבל לאיזה צורך אתה רוצה את זה?
לקובץ מסויים שאתה כותב ? או לתחום שלם?גם וגם, זאת אומרת, כרגע לדף מסויים אבל לא יזיק ללמוד איך מגדירים לתחום שלם.
-
@שמואל הקוד הזה שהבאת לי בתחומים
<Directory "C:\xampp\htdocs\"> Options FollowSymlinks AllowOverride All Require all granted </Directory>
הכנסתי אותו בקובץ
httpd-xampp.conf
והוא עובד מצויין, אבל כשאני מכבה את האפאצ'י, הוא לא מוכן להידלק עד שאני לא מוחק את זה מהקובץ, יש פיתרון?נ.ב. איך מגדירים דף שגיאה מותאם אישית לכל שגיאה במקום הברירת מחדל של האפאצ'י?
-
@ענן אמר בסיסמא לאתר אינטרנט:
איך עושים את זה?
אתה יוצר שם משתשמש וסיסמה ב: https://www.web2generators.com/apache-tools/htpasswd-generator
זה מצפין את זה ותקבל משהוא בסגנון הזה:
mitmachim:$apr1$ulgodx7r$inE322loDS0j/crXlI9CO1
שם משתשמש "mitmachim" וסיסמה שבחרת, שבקובץ היא מוצפנת.
כמובן אתה יכול ליצור כמה משתמשים ולשים בקובץ.אתה שומר את זה בקובץ כטקסט.
אחרי זה מגדיר בhttpd בVirtualHost הרצוי:<Location /> Deny from all AuthUserFile "C:\file\password.txt" AuthName "mitmachim system" AuthType Basic Satisfy Any require valid-user </Location>
ומפעיל מחדש את הapache
-
@ענן אמר בסיסמא לאתר אינטרנט:
הכנסתי אותו בקובץ httpd-xampp.conf והוא עובד מצויין, אבל כשאני מכבה את האפאצ'י, הוא לא מוכן להידלק עד שאני לא מוחק את זה מהקובץ, יש פיתרון?
תכניס את זה ותכבה את הapache וכאשר הוא לא נדלק תפתח את
C:\xampp\apache_start.bat
ותעתיק את הפלט
בכלי זה מוזר, כי כל שינוי בhttpd לא מתעדכן רק אחרי הפעלה מחדש של האפאצי.. מוזר איך זה עבד.
-
@שמואל אמר בסיסמא לאתר אינטרנט:
@ענן אמר בסיסמא לאתר אינטרנט:
הכנסתי אותו בקובץ httpd-xampp.conf והוא עובד מצויין, אבל כשאני מכבה את האפאצ'י, הוא לא מוכן להידלק עד שאני לא מוחק את זה מהקובץ, יש פיתרון?
תכניס את זה ותכבה את הapache וכאשר הוא לא נדלק תפתח את
C:\xampp\apache_start.bat
ותעתיק את הפלט
בכלי זה מוזר, כי כל שינוי בhttpd לא מתעדכן רק אחרי הפעלה מחדש של האפאצי.. מוזר איך זה עבד.
אני מתנצל שאני משגע יותר מידי..
מוזר... הכנסתי את זה עכשיו, כדי לעשות מה שכתבת, אבל עכשיו זה כבר לא עובד בכלל, זאת אומרת זה לא משפיע כלום (ואני בטוח ב100% שלפני זה זה עבד!)... אבל מצד שני הוא עדיין עובד היטב, אבל ברגע שאני מכבה אותו הוא לא מוכן להידלק שוב...כאן הכנסתי את זה:
וזה תוצאות הפלט של ה cmd:
Setting environment for using XAMPP for Windows. Administrator@QICIXQXTZQ c:\xampp # C:\xampp\apache_start.bat Diese Eingabeforderung nicht waehrend des Running beenden Bitte erst bei einem gewollten Shutdown schliessen Please close this command only for Shutdown Apache 2 is starting ... httpd.exe: Syntax error on line 537 of C:/xampp/apache/conf/httpd.conf: Syntax error on line 70 of C:/xampp/apache/conf/extra/httpd-xampp.conf: </Directory>s> directive missing closing '>' Apache konnte nicht gestartet werden Apache could not be started Press any key to continue . . . Administrator@QICIXQXTZQ c:\xampp #
-
@שמואל אמר בסיסמא לאתר אינטרנט:
@ענן אמר בסיסמא לאתר אינטרנט:
נ.ב. איך מגדירים דף שגיאה מותאם אישית לכל שגיאה במקום הברירת מחדל של האפאצ'י?
ErrorDocument 404 /My-404.html ErrorDocument 403 /My-403.html ErrorDocument 401 /My-401.html
וכד
איפה שמים את זה?
-
@ענן אמר בסיסמא לאתר אינטרנט:
מוזר... הכנסתי את זה עכשיו, כדי לעשות מה שכתבת, אבל עכשיו זה כבר לא עובד בכלל, זאת אומרת זה לא משפיע כלום (ואני בטוח ב100% שלפני זה זה עבד!)... אבל מצד שני הוא עדיין עובד היטב, אבל ברגע שאני מכבה אותו הוא לא מוכן להידלק שוב...
ככה.
בתוך
"C:\xampp\apache\conf\httpd.conf"
יש מקטע<Directory "C:/xampp/htdocs">
בתוכו יש
AllowOverride All
תמחק את השורה הזו, ובמקומה תכניס את כל זה ביחד
Options FollowSymlinks AllowOverride All Require all granted
מה שבעצם אני אומר שאתה צריך לבדוק שאתה לא שם הוראות כפולות בקובץ.