הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 30-12-15, 19:47   # 1
EBSites
חבר מתקדם
 
EBSites's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 382

EBSites לא מחובר  

Exclamation עזרה | התחברות עם Md5 - לא עובד!

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


PHP קוד:
<?php
                
if(isset($_POST['tmp']) && $_POST['tmp']=='login'){
                    unset(
$_POST['tmp']);
                    
$query    "SELECT * FROM users";
                    
$result    mysql_query($query) or die('Query failed: '.mysql_error());
                    
$check 1;
                    while(
$row mysql_fetch_array($result)){
                        if(!
strcmp($_POST['user'],$row['username']) && !md5($_POST['pass'],$row['password'])){
                            
$_SESSION['logged']=$_POST['user'];

                            
$pass md5($_POST['password']);

                            
$_SESSION['nnwriter']=$row['namewriter'];
                            
$_SESSION['nnid']=$row['id'];
                            echo 
"";
                            
$check 0;    
                            break;
                        }
                    }
                    if(
$check)
            
?>
<font style='font-size:17px;color:#FF0000;'>שם משתמש או סיסמא שגויים!</font>
<br /><br />
            <?php
                
}else{
}
?>
            <form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF'?>">
                <input type="hidden" name="tmp" value="login" />
                <table width="350" cellpadding="0" cellspacing="0">
                    <tr>
                        <td><b>שם משתמש :</b></td>
                        <td><input class="panel" type="text" name="user" /></td>
                    </tr>
                    <tr>
                        <td><b>סיסמא :</b></td>
                        <td><input class="panel" type="password" name="pass" /></td>
                    </tr>
                    <tr>
                        <td><br></td>
                        <td colspan="2"><br><input class="submitpanel" type="submit" value='התחברות' /></td>
                    </tr>
                </table>
            </form>
  Reply With Quote
ישן 01-01-16, 23:31   # 2
Jonathan Zeierman
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 1,003

Jonathan Zeierman לא מחובר  

איזה שגיאה הוא נותן לך? או שאין שגיאה כלל?
אגב שכחת בתחילת המסמך להכניס ללא רווחים:
PHP קוד:
session_start(); 
__________________
יונתן.
אימייל: jonathan@zeierman.net
  Reply With Quote
ישן 02-01-16, 17:04   # 3
BarSpecial
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Oct 2014
הודעות: 106

BarSpecial לא מחובר  

למה לרוץ על כל המשתמשים במסד ולא להשתמש ב-WHERE?

PHP קוד:
$query "SELECT * FROM `users` WHERE `username` = {$_POST['username']} AND `password` = md5({$_POST['pass']})" 
* שים לב שלא ביצעתי escaping למשתנים - צריך לבצע (או להשתמש בPDO עם prepare statement)

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

אגב, הטעות המקורית שלך נמצאת בתנאי הזה
PHP קוד:
!md5($_POST['pass'],$row['password']) 
צריך להחליף ל
PHP קוד:
md5($_POST['pass']) != $row['password'
__________________
בברכה,
בר
  Reply With Quote
ישן 03-01-16, 07:15   # 4
EBSites
חבר מתקדם
 
EBSites's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 382

EBSites לא מחובר  

בוקר טוב בר,

אני אשמח אם תוכל לעזור לי ולהסביר לי קצת איך אוכל לעשות זאת?
תודה לך.
  Reply With Quote
ישן 03-01-16, 11:21   # 5
BarSpecial
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Oct 2014
הודעות: 106

BarSpecial לא מחובר  

איך לעשות את..מה?
__________________
בברכה,
בר
  Reply With Quote
ישן 04-01-16, 07:18   # 6
EBSites
חבר מתקדם
 
EBSites's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 382

EBSites לא מחובר  

PHP קוד:
 $query "SELECT * FROM `users` WHERE `username` = {$_POST['username']} AND `password` = md5({$_POST['pass']})" 
לגבי זה.
  Reply With Quote
ישן 04-01-16, 23:14   # 7
Makeapp
עסק רשום [?]
 
Makeapp's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jul 2014
הודעות: 73

Makeapp לא מחובר  

ציטוט:
נכתב במקור על ידי EBSites צפה בהודעה
PHP קוד:
 $query "SELECT * FROM `users` WHERE `username` = {$_POST['username']} AND `password` = md5({$_POST['pass']})" 
לגבי זה.
קח בחשבון שמה שנתנו לך פה זה קוד מאוד בסיסי יחסית, תצטרך להוסיף אבטחה.
ותעשה שימוש בnum_rows ע"מ לאמת את הנתונים.

בהצלחה
__________________



בניית אתרים - פיתוח מערכות מידע - שירותי ענן - עיצוב גראפי - אפליקציות
טל. 054-3536-304 - דוא"ל. hostarltd@gmail.com
  Reply With Quote
ישן 04-01-16, 23:26   # 8
אבי בר
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Apr 2009
הודעות: 142

אבי בר לא מחובר  

ציטוט:
נכתב במקור על ידי Makeapp צפה בהודעה
קח בחשבון שמה שנתנו לך פה זה קוד מאוד בסיסי יחסית, תצטרך להוסיף אבטחה.
ותעשה שימוש בnum_rows ע"מ לאמת את הנתונים.

בהצלחה
כל הקוד הזה נורא בסיסי ולא מומלץ להשתמש בו בשום פנים ואופן

אני לא יודע מאיפה להתחיל mysql הישן, מהשימוש בmd5 ל"הצפנת" הסיסמא, מהספגטי קוד

הקוד הזה כאילו יצא משנת 2003
  Reply With Quote
ישן 07-01-16, 09:55   # 9
EBSites
חבר מתקדם
 
EBSites's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 382

EBSites לא מחובר  

אז באיזה קוד אתם ממליצים להשתמש? שגם מבחינת אבטחה יעשה את העבודה.
  Reply With Quote
ישן 07-01-16, 10:20   # 10
אבי בר
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Apr 2009
הודעות: 142

אבי בר לא מחובר  

ציטוט:
נכתב במקור על ידי EBSites צפה בהודעה
אז באיזה קוד אתם ממליצים להשתמש? שגם מבחינת אבטחה יעשה את העבודה.
אתה המתכנת, אין קוד אחיד לדברים כאלה, אבל תחפש ותגגל במקומות אמינים על הסטנדט הנהוג היום נגיד על התחברות, תבדוק טוב טוב למי אתה מקשיב ומאיזה תאריך מה שאתה קורא.
אם במה שאתה קורא מעורב נגיד md5 תדע שזה לא מקור טוב

אם אין לך את הידע הנדרש לעשות מערכת מאובטחת באמת(לרובנו אין) תשתמש בפריימוורקים קיימים נגיד laravel, symfony, zend וכו' .

הסטנדרט של הקוד שהצגת היה נהוג לפני עשור, הרבה השתנה מאז php התפתחה מאוד, בדרך כלל זה קורה שלומדים מחומרים ישנים ולא מעודכנים

בקשר לשימוש בmysql תמיד תעבוד מול האתר של php אם היית עושה את זה הייתה מגלה שהפונקציה deprecated ממזמן http://php.net/manual/en/function.mysql-query.php וכבר לא בשימוש בphp7
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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