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

הוסטס - פורום אחסון האתרים הגדול בישראל (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

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


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

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