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

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

Ori-G 10-11-07 09:42

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

הדוגמא: http://www.htmmo.info/code/


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

ציטוט:

<?php
if(!isset($_POST['submit']))
{
echo <<<FORM
<form method="POST">
Enter Security code: <br />
<img src="securityimage.php" /><input name="code" type="text" />
<input type="submit" name="submit" value="Send">
</form>
FORM;
}
{
$authorize = ($_POST['code'] == $_SESSION['code']) ? TRUE : FALSE;
if(!$authorize) die("קוד לא נכון");
}
?>

Derey22 10-11-07 09:47

תציג גם תקובץ השני,
בקובץ השני תשים סישן עם הקוד.
ואז תשווה הרבה יותר טוב נראה לי/:

Ori-G 10-11-07 09:48

ציטוט:

נכתב במקור על ידי Derey22 (פרסם 577102)
תציג גם תקובץ השני,
בקובץ השני תשים סישן עם הקוד.
ואז תשווה הרבה יותר טוב נראה לי/:

שמתי כבר.. :/

הנה העמוד השני:



ציטוט:

<?php
session_start();
header("Content-type: image/gif");
$BB = substr(str_shuffle("abcdefghijklmnopqrstuv12345678 9"),0,6);
$_SESSION['BBCODE'] = "$BB";
$text = "$BB";

$image=imagecreate(70,20);
$wirt=imagecolorallocate($image, 0, 0, 0);
$red=imagecolorallocate($image, 255, 255, 255);
ImageString ($image, 30, 7, 2, $text, $red);
imagegif($image);
?>

Derey22 10-11-07 09:57

PHP קוד:

<?php
session_start
();
if(!isset(
$_POST['submit']))
{
echo <<<FORM
<form method="POST">
Enter Security code: <br />
<img src="securityimage.php" /><input name="code" type="text" />
<input type="submit" name="submit" value="Send">
</form>
FORM;
}
if (
$_POST['code'] == $_SESSION['BBCODE']){
echo 
"פועל";
}
?>

תדבוק

Ori-G 10-11-07 10:43

ציטוט:

נכתב במקור על ידי Derey22 (פרסם 577104)
PHP קוד:

<?php
session_start
();
if(!isset(
$_POST['submit']))
{
echo <<<FORM
<form method="POST">
Enter Security code: <br />
<img src="securityimage.php" /><input name="code" type="text" />
<input type="submit" name="submit" value="Send">
</form>
FORM;
}
if (
$_POST['code'] == $_SESSION['BBCODE']){
echo 
"פועל";
}
?>

תדבוק


לא עובד.. בכלל לא מציג לי את העמוד.. :(

חיים 10-11-07 11:24

תנסה להדפיס את הסשנים:
PHP קוד:

print_r($_SESSION); 

בשני העמודים תנסה איכשהוא להציג את זה ותבדוק איפה יש סשן ואיפה אין.. גם לי הייתה בעיה כזאת וגיליתי שאין בכלל סשן בקובץ השני כאילו הוא לא קולט את הסשן

Derey22 10-11-07 13:33

ציטוט:

נכתב במקור על ידי חיים (פרסם 577117)
תנסה להדפיס את הסשנים:
PHP קוד:

print_r($_SESSION); 

בשני העמודים תנסה איכשהוא להציג את זה ותבדוק איפה יש סשן ואיפה אין.. גם לי הייתה בעיה כזאת וגיליתי שאין בכלל סשן בקובץ השני כאילו הוא לא קולט את הסשן

חיים תן לו תקוד שבניתי היום שלשום של הGD.

Ori-G 10-11-07 14:31

ציטוט:

נכתב במקור על ידי חיים (פרסם 577117)
תנסה להדפיס את הסשנים:
PHP קוד:

print_r($_SESSION); 

בשני העמודים תנסה איכשהוא להציג את זה ותבדוק איפה יש סשן ואיפה אין.. גם לי הייתה בעיה כזאת וגיליתי שאין בכלל סשן בקובץ השני כאילו הוא לא קולט את הסשן

לא עובד :/ ניסיתי בכל דרך..

Derey22 10-11-07 14:34

אז יש בעיה עם הסישן..
תבדוק מה הבעיה.

יניב בן צבי 10-11-07 18:47

הדרך הטובה ביותר לבדוק את הענין זה להדפיס את הקוד שנירשם ואז תשווה אם מה שהיה אם זה אותו דבר זה אמור לעבוד לדעתי יש בעיה בטופס

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

Tom_l 10-11-07 19:40

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

<?php 
session_start
(); 

if(!isset(
$_POST['submit'])) {
echo <<<FORM
    <form method="POST">
    Enter Security code: <br />
    <img src="securityimage.php" /><input type="text" name="code" />
    <input type="submit" name="submit" value="Send">
    </form> 
FORM;
}

else {
if (
$_POST['code'] != $_SESSION['code']) {
    echo 
"הקוד שהוזן אינו נכון";
}
else if (
$_POST['code'] == $_SESSION['code']) {
    echo 
"הקוד שהוזן נכון";
}
}
?>

אגב, יש לך עוד בעייה בקובץ של ה-GD, ועשית שם סתם חירבוש... קח:
PHP קוד:

<?php 
session_start
();
header("Content-type: image/gif");
$text substr(str_shuffle("abcdefghijklmnopqrstuv123456789"),0,6);
$_SESSION['code'] = $text;

$image=imagecreate(70,20);
$wirt=imagecolorallocate($image000);
$red=imagecolorallocate($image255255255);
ImageString ($image3072$text$red);
imagegif($image);
?>

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

***אם זה לא "עובד" אז פשוט תוריד את הרווחים אחרי כל שורה, פשוט המערכת מוסיפה רווחים, או פשוט אחרי שאתה מעתיק את הקודים מכאן אל ה-NotePad(עורך אחר), פשוט תמחק את הרווחים של השורות הבאות:
PHP קוד:

echo <<<FORM 

ושל השורה:
PHP קוד:

FORM

תהנה.


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

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