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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] בעיית התחברות. (https://hosts.co.il/forums/showthread.php?t=19613)

miniature 11-04-06 17:51

[PHP] בעיית התחברות.
 
כתבתי את הקוד:
http://royalgames.3dfaculty.com/d/a.phps
וזה תמיד מחזיר 'ERROR', גם אם הפרטים נכונים.

מה יכולה להיות הבעיה?
תודה,
יואב.

BlurStyle 11-04-06 18:57

נסה לשנות את ה
password='$password_md5'
ל
password='$password'

miniature 11-04-06 19:25

עדיין לא עובד.

meshuga 11-04-06 19:59

ציטוט:

נכתב במקור על ידי miniature
עדיין לא עובד.

הקוד ממש סתם מסובך...מה שגם אפשר לפרוץ למערכת בקלות

miniature 11-04-06 20:01

ציטוט:

נכתב במקור על ידי meshuga
הקוד ממש סתם מסובך...מה שגם אפשר לפרוץ למערכת בקלות

ספר לי איך.

meshuga 12-04-06 08:58

ציטוט:

נכתב במקור על ידי miniature
ספר לי איך.

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

דבר שלישי, הקוד סתם מסורבל ולא בסדר הנכון, אתה קודם עושה בדיקה אם המשתמש קיים ורק אז עושה בדיקה אם הסיסמה והשם משתמש קיימים?...וגם ה$login_check_activated, תסכים איתי שזה די דפוק....למה לא כבר לעשות הכל בפעם אחת....
ואני אשמח אם תסביר לי מה לעזאזל זה AND login=0" מזה הlogin?..למה הוא חשוב שיהיה 0 ולמה הוא לא מופיע בשאילתות האחרות....שמע, הקוד ארוך יותר ממה שהוא צריך להיות, ממש לא מנצל את השרת טוב מבחינת הרצת שאילתות...וגם לא בסדר הנכון.

miniature 12-04-06 09:14

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

ומה עושה mysql_escap_string ?

meshuga 12-04-06 09:22

ציטוט:

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

ומה עושה mysql_escap_string ?

הוא מצמצם את יכולת ההזרקות לתוך השאילתה שלך...למשל...לגרש (') הוא מוסיף \ וכו'..

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

miniature 12-04-06 09:38

ציטוט:

נכתב במקור על ידי meshuga
זה לא להסתכן, אני אומר לך מראש....תעשה דאבל פוסט/תקפיץ אחרי 48 שעות ואני יביא אזהרה.
זה לא שאני נגדך, יש חוקים והם נכתבו מסיבה מסיומת לא?..

חח אני לא אומר שהחוקים לא בסדר.. להפך - הם אחלה.
פשוט אני אומר שאני מעדיף שיענו לי על זה ושיביאו לי אזהרה מאשר שלא יענו בכלל.

ד"א בקשר להזרקה - אפשר גם להוסיף htmlspecialchars ו addslashes נכון?

miniature 12-04-06 09:45

ציטוט:

נכתב במקור על ידי meshuga
ואתה יודע שאחרי כמה אזהרות יש השעיה ואתה יודע שאחרי כמה השעיות אתה לא יכול לחזור לכאן...נכון?

(אחרי אישור ההודעה הזאת אני מוחק את כל הספאם הזה..)

תמחק תמחק ;P רק תעזור לי ;-(

ד"א - אם אני עושה:
PHP קוד:

    $name_register htmlspecialchars($_POST['name'], ENT_QUOTES);
    
$name_register addslashes($name_register);
    
$name_register mysql_escape_string($name_register); 

זה אותו דבר כמו:
PHP קוד:

    $name_register mysql_escape_string(addslashes(htmlspecialchars($_POST['name'], ENT_QUOTES))); 

??
(בונא נראה לי אני כבר סחוט שאני שואל תשאלות האלה :-/ לא ישנתי כל הלילה =/

meshuga 12-04-06 09:49

ציטוט:

נכתב במקור על ידי miniature
תמחק תמחק ;P רק תעזור לי ;-(

ד"א - אם אני עושה:
PHP קוד:

    $name_register htmlspecialchars($_POST['name'], ENT_QUOTES);
    
$name_register addslashes($name_register);
    
$name_register mysql_escape_string($name_register); 

זה אותו דבר כמו:
PHP קוד:

    $name_register mysql_escape_string(addslashes(htmlspecialchars($_POST['name'], ENT_QUOTES))); 

??
(בונא נראה לי אני כבר סחוט שאני שואל תשאלות האלה :-/ לא ישנתי כל הלילה =/

כן. אגב, addslashes ו mysql_escape_string זה אותו דבר בעקרון.

מחקתי את ההודעות הלא קשורות.

miniature 12-04-06 09:58

ציטוט:

נכתב במקור על ידי meshuga
כן. אגב, addslashes ו mysql_escape_string זה אותו דבר בעקרון.

מחקתי את ההודעות הלא קשורות.

אוקי.
תעזור וזה יהיה מושלם. |Lol|

lalamen 12-04-06 10:16

לא עברתי על הקוד שלך אבל אני ככה בונה את ההתחברות

PHP קוד:

<?php
 
if($_POST["formsend"] == 1)
 {
 function 
login($u,$p
 { 
 
setcookie("user",$u,time()+60*60*24*31); 
 
setcookie("pass",$p,time()+60*60*24*31); 
 echo 
"אתה מחובר";
 }
 
$username $_POST["username"]; 
 
$password md5($_POST["password"]);
 include 
"includes/database.php";
 
$q mysql_query("SELECT * FROM members WHERE username LIKE '%$username%'") or die("שגיאה");
 
$a mysql_fetch_array($q);
 if(
$a["username"] == $username
 { 
 if(
$a["password"] == $password
 {
 
login($username,$password); 
 }
 else
 {
 echo 
"שגיאה שם המשתמש או הסיסמא לא נכונים";
 }
 }
 else
 {
 echo 
"שגיאה שם המשתמש או הסיסמא לא נכונים";
 }
 }
?>
<form action="login.php" method="post">
<input type="hidden" name="formsend" value="1" />
<input type="text" name="username" value="<?php echo $_POST["username"]; ?>" /><br />
<input type="password" name="password" value="<?php echo $_POST["password"]; ?>" /><br />
<input type="submit" name="submit" value="התחבר" />
</form>

תבדוק תגיד אם זה טוב

miniature 12-04-06 11:19

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

    $password addslashes(htmlspecialchars($_POST['password'], ENT_QUOTES));
    
$password_md5 md5($password); 


miniature 13-04-06 19:06

הקפצה.

BlueNosE 13-04-06 19:42

ציטוט:

נכתב במקור על ידי miniature
הקפצה.

אתה מתעקש להסתבך עם שי? S:

אממ, נדמה לי שמישהו אמר לך לשנות את $password_md5 ל$password, אז תחזיר..

miniature 13-04-06 19:48

זה לא עבד, השינוי.

miniature 14-04-06 00:37

הסתדרתי.
עכשיו יש בעיה עם השאילתא הבאה:
PHP קוד:

@mysql_query("SELECT * FROM digital_blog WHERE id=$_COOKIE["id"],code='$_COOKIE["code"]'") or die (mysql_error()); 

הוא כותב לי:
קוד:

Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING

miniature 14-04-06 01:31

אוקי, כתבתי:
PHP קוד:

@mysql_query("SELECT * FROM digital_blog WHERE id=$_COOKIE[\"id\"],code='$_COOKIE[\"code\"]'") or die (mysql_error()); 

וזה כותב לי:
קוד:

Parse error: parse error, unexpected T_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING

Deagly 14-04-06 01:38

נסה את זה:
PHP קוד:

@mysql_query("SELECT * FROM digital_blog WHERE id='".$_COOKIE[id]."' AND code='".$_COOKIE[code]."'") or die (mysql_error()); 


miniature 14-04-06 01:46

עדיין אותה בעיה (כמו הראשונה..)


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

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