הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   תכנות - מדריכים, code snippets (https://hosts.co.il/forums/forumdisplay.php?f=68)
-   -   [מדריך] PHP - הגנה על דף באמצעות סיסמה (https://hosts.co.il/forums/showthread.php?t=19209)

null 06-04-06 17:50

[מדריך] PHP - הגנה על דף באמצעות סיסמה
 
שלום!
היום תלמדו להגן על דף בסיסמה ע"י סקריפט פשוט.
אני אכתוב את כל הסקריפט ואז אפרט.

PHP קוד:

<?php

session_start
();

if(!isset(
$_POST['open'] && !isset($_SESSION['open']))
{
?>
<form action="<?=$PHP_SELF?>" method="post">
<p>
<label for="pwd">Password:</label><input type="password" name="pwd" id="pwd />
<br />
<input type="submit" id="open" value="Open Page" />
</p>
</form>
<?
}
elseif(isset(
$_POST['open']))
{
if(
$_POST['pwd'] == "test")
{
$_SESSION['open'] == "1";
}
else
{
?>
Wrong Password
<?
}
}
else
{
?>
This is protected by pass text.
<?
}


אז ככה:

PHP קוד:

session_start(); 

מפעיל אפשרות שימוש בסשנים

PHP קוד:

if(!isset($_POST['open'] && !isset($_SESSION['open'])) 

בודק שלא נשלח טופס ההתחברות ושלא התחברת כבר.

HTML קוד:

<form action="<?=$PHP_SELF; ?>" method="post">
<p>
<label for="pwd">Password:</label><input type="password" name="pwd" id="pwd />
<br />
<input type="
submit" id="open" value="Open Page" />

</p>
</form>


טופס ההתחברות

PHP קוד:

elseif(isset($_POST['open']))
{
if($_POST['pwd'] == "test")
{
$_SESSION['open'] == "1";
}
else
{
?>
Wrong Password
<?
}


אם נשלח הטופס, בדוק אם הסיסמה מתאימה, אם כן, קבע סשיין, אם לא תודיע למשתמש.

HTML קוד:

?>
This is protected by pass text.
<?


הטקסט המוגן...

* המדריך לא נבדק, ויתכנו שגיאות
* הקודים במדריך אומרים לעמוד בתקן בחדש
* כל הזכויות שמורות לקובלנקו איגור.

תהנו! :)

TalGarty 06-04-06 17:56

יפה מאוד! כל הכבוד לך :-)

mlnn 06-04-06 17:58

אחלה מדריך, תודה.

Alter 06-04-06 18:04

קוד נחמד יותר (מבחינת תצוגה) וגם סגירה של ה<?

קוד:

<?php

session_start();

if(!isset($_POST['open'] && !isset($_SESSION['open'])){
?>
        <form action="<?=$PHP_SELF; ?>" method="post">
                <p>
                        <label for="pwd">Password:</label><input type="password" name="pwd" id="pwd />
                        <br />
                        <input type="submit" id="open" value="Open Page" />
                </p>
        </form>
<?
}
elseif(isset($_POST['open'])){
        if($_POST['pwd'] == "test"){
                $_SESSION['open'] == "1";
        }
        else{
?>
                Wrong Password
<?
        }
}
else{
?>
        This is protected by pass text.
<?
}
?>

בכל מקרה, כל הכבוד על ההסברים.
למרות שלא מצאתי בזה משהו שאני צריך|...|

null 06-04-06 18:12

ציטוט:

נכתב במקור על ידי Alter
קוד נחמד יותר (מבחינת תצוגה) וגם סגירה של ה<?

קוד:

<?php

session_start();

if(!isset($_POST['open'] && !isset($_SESSION['open'])){
?>
        <form action="<?=$PHP_SELF; ?>" method="post">
                <p>
                        <label for="pwd">Password:</label><input type="password" name="pwd" id="pwd />
                        <br />
                        <input type="submit" id="open" value="Open Page" />
                </p>
        </form>
<?
}
elseif(isset($_POST['open'])){
        if($_POST['pwd'] == "test"){
                $_SESSION['open'] == "1";
        }
        else{
?>
                Wrong Password
<?
        }
}
else{
?>
        This is protected by pass text.
<?
}
?>

בכל מקרה, כל הכבוד על ההסברים.
למרות שלא מצאתי בזה משהו שאני צריך|...|

זה למתחילים,
וסתם כאלה שאין להם כוח ללמוד PHP.
חח.

Sindrom 06-04-06 18:30

יפה מאוד, אני אשתמש לבדיקה.
אבל למה, המדריך הזה למתחילים כמו שאמרת, בתגובה #5, רשמת בהסברים:

אז ככה:

PHP Code:
session_start();

מפעיל אפשרות שימוש בסשנים,
אני אישית, אם הייתי מתחיל ב PHP, לא הייתי יודע מה זה סשן, אשמח אם תסביר, ואם תוכל לערוך.
תודה, אבי.

בניה 06-04-06 18:38

לש"ש


אם זה סתם להגנה על דפים הכי נוח להשתמש ב
http://il.php.net/manual/en/features.http-auth.php

Oppis 06-04-06 21:16

אחלה מדריך

Cool_DuDu 06-04-06 21:24

למה כתבת? ="<?=$PHP_SELF; ?>"
מה הוא עושה?

MoshikB 06-04-06 22:22

תודה רבה אחי, אולי למתכנתים מקצועי זה לא מתאים, אך למתחילים זה ממש עוזר, תודה רבה.

d0rix 06-04-06 23:42

ציטוט:

נכתב במקור על ידי Cool_DuDu
למה כתבת? ="<?=$PHP_SELF; ?>"
מה הוא עושה?

יפה מאוד תודה,
בקשר לשאלתך דודו הוא לוקח את נתיב השרת.

TAsraf 07-04-06 03:45

תודה
אבל אני ידוע איך

null 07-04-06 06:49

ציטוט:

יפה מאוד, אני אשתמש לבדיקה.
אבל למה, המדריך הזה למתחילים כמו שאמרת, בתגובה #5, רשמת בהסברים:

אז ככה:

PHP Code:
session_start();

מפעיל אפשרות שימוש בסשנים,
אני אישית, אם הייתי מתחיל ב PHP, לא הייתי יודע מה זה סשן, אשמח אם תסביר, ואם תוכל לערוך.
תודה, אבי.
כדי שתוכל להשתמש בסשנים אתה צריך קודם הריץ את הפונקציה הזאת שתאפשר לך להשתמש בהם.
אם תסתכל, בחלקים אין את כל התווים שצריך, אך בקוד השלם הכל יש :) מקוווה שהבנת

ציטוט:

לש"ש


אם זה סתם להגנה על דפים הכי נוח להשתמש ב
http://il.php.net/manual/en/features.http-auth.php
אני אנסה לכתוב היום מדריך גם עם זה. תודה.

ציטוט:

למה כתבת? ="<?=$PHP_SELF; ?>"
מה הוא עושה?
<? - כניסה לPHP המאפשרת לי לעבוד עימו
= - ECHO מקוצר :) [ עובד רק כמו שרשום למעלה... ]
$PHP_SELF - משתנה השומר בתוכו את נתיב הקובץ המופעל כעת,
מה שבעצם שולח את הנתונים מהטופס שעשינו לאותו דף בידיוק. הכל בדף אחד. :)
; - נקודה פסיק. מקווה שלא צקיך להסביר |קורץ|
?> - יציאה מPHP

בבקשה.

Derey22 07-04-06 08:30

יש מצב שאתה מכין את זה בתור קובץ php מוכן?

null 07-04-06 08:33

ציטוט:

נכתב במקור על ידי derey22
יש מצב שאתה מכין את זה בתור קובץ php מוכן?

תסתכל בתחילת המדריך, יש שם את הקובץ בשלמותו.
או שלא הבנתי אותך. ;P

SyPhEx 07-04-06 09:04

ואי תודה אחי
האמת בדיוק חיפשתי בשביל חבר שלי כזה דבר
מזל שהרצתי חיפוש...

חבר|94 07-04-06 23:02

איפו אני מגדיר לו שהוא יעבור לדפ שאני רוצה?

Derey22 08-04-06 09:25

Parse error: parse error, unexpected T_BOOLEAN_AND, expecting ',' or ')'
בשורה חמש

Light-Era.Net || Ronen 16-06-06 13:41

שאלה:
לא עדיף לכתוב AND במקום && ?
יותר מובן לקריאה..

psycho 16-06-06 14:05

אווץ איזו הקפצה

Alm 16-06-06 14:09

הקפצה, נעול.
אתה יכול לפתוח שאלה בנוגע לזה באשכול נפרד.


כל הזמנים הם GMT +2. הזמן כעת הוא 11:43.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ