نمایش نتایج 1 تا 28 از 28

نام تاپیک: ایجاد فایل change password

  1. #1

    Question ایجاد فایل change password

    سلام دوستان.

    من یه اسکریپت دارم ، اما متاسفانه قسمت پنل کاربر ، گزینه تغییر پسورد به این صورت عمل میکنه که پسورد جدید رو به ایمیل کاربر ارسال می کنه. میخوام این فایل طوری باشه که کاربر خودش پسورد رو تغییر بده نه اسکریپت.
    ممنون میشم کمک کنید.

  2. #2

    نقل قول: ایجاد فایل change password

    سلام

    سه کار می تونید انجام بدید ، یکی اینکه :
    1 - خودتون بخش پروفایل رو جداگانه بنویسید و در پروژه اضافه کنید ، در واقع این بخش رو خودتان مجزا تولید کنید مجدد
    2 - ان قسمت از اسکریپت شما که داره رمز عبور را ایجاد کرده و به ایمیل ارسال می کند را دستی ویرایش کنید و اجازه دهید کاربر رمز عبور جدید را همان جا وارد نماید .
    3- یک لینک اعتبار سنجی به جای ارسال رمز عبور ایجاد کنید و این لینک برای ایمیل کاربر ارسال شود و در صورتی که کاربر رویه لینک کلیک کرد ، وارد صفحه ای از سایت شما شود که رمز عبور درخواستی جدید کاربر گرفته شده و در صورت صحیح بودن ویرایش شده و ایمیل تاییده ارسال شود . این طوری هم از ایمیل کاربر مطمئن هستید و کار راحتی هم هست .

    موفق باشید

  3. #3

    نقل قول: ایجاد فایل change password

    همین گزینه دوم خوبه. چطور میشه انجامش داد؟

    اینم متن فایل :

    <?php
    $getPageTitle="تغییر کلمه عبور";


    function getContentTpl(){
    include '../db_connect.php';
    ?>
    <div class="getContentBox">
    <div class="content_top"><div class="getTitleContent">تغییر کلمه عبور</div>
    </div>
    <div class="content_bg"><div class="cop">
    <center>



    <table width="80%" border="0" cellpadding="1" cellspacing="0" align="center">
    <tr>
    <td align="center" > <br>
    ايميل خودرا جهت دريافت رمز جديدواردكنيد
    <form name="form1" method="post" action="">
    <br>
    <input type="submit" name="Submit" value="Send" class="btn">
    <input name="email" type="text" id="email" size="40" dir="ltr"><strong>:Email</strong>


    </form></td>
    </tr>
    </table>
    <?php

    error_reporting(0);
    if ($_POST['Submit']=='Send')
    {
    $host = $_SERVER['HTTP_HOST'];
    $rs_search = mysql_query("select email from user where email='$_POST[email]'");
    $user_count = mysql_num_rows($rs_search);

    if ($user_count != 0)
    {
    $newpwd = rand(10000,999999);
    $host = $_SERVER['HTTP_HOST'];
    $newmd5pwd = md5($newpwd);
    mysql_query("UPDATE user set pass='$newmd5pwd' where email='$_POST[email]'");
    $message =
    "You have requested new login details from $host. Here are the login details...\n\n
    User Name: $_POST[email] \n
    Password: $newpwd \n
    ____________________________________________
    *** LOGIN ***** \n
    To Login: http://$host/login.php \n\n
    _____________________________________________
    Thank you. This is an automated response. PLEASE DO NOT REPLY.
    ";

    mail($_POST['email'], "رمزجديد", $message,
    "From: \"Auto-Response\" <robot@$host>\r\n" .
    "X-Mailer: PHP/" . phpversion());

    echo ('<center><font color="#0000FF">رمزجديد به ايميل شما ارسال شد</font></center><br>');
    } else
    echo ('<center><font color="red">كاربري با اين ايميل ثبت نشده است</font></center><br>');
    }
    ?>



    </center>
    </div>
    </div>
    <div class="content_bt"></div>
    </div>
    <div class="clear"></div>
    <?

    }
    include '../jdf.php';
    include 'getTheme.php';
    ?>

  4. #4

    نقل قول: ایجاد فایل change password

    برای ویرایش فایل یه سوال ، این کد برای وقتی است که کاربر وارد پنل شده و می خواد تغییر رمز بده یا برای یادآوری رمز عبور ؟؟؟ کد را ویرایش می کنم می گذارم

  5. #5

    نقل قول: ایجاد فایل change password

    این ساده ترین حالت ممکنه ، کاربر رمز عبور درخواستی خودش رو هم همزمان با ایمیل وارد کنه که البته نیاز است شما رمز عبور قبلی رو هم بگیری و می تونی با همین شیوه کد رو کامل کنید
    من چند خط کدی رو که ویرایش کردم دو خطه که در کد زیر می تونی جایگزین کنید



    <form name="form1" method="post" action="">

    <input type="submit" name="Submit" value="Send" class="btn">
    <input name="email" type="text" id="email" size="40" dir="ltr"><strong>:Email</strong>
    <input name="newpass" type="text" id="newpass" size="40" dir="ltr"><strong>:new password</strong>
    </form>


    $newpwd = $_POST['newpass'];
    $host = $_SERVER['HTTP_HOST'];
    $newmd5pwd = md5($newpwd);
    mysql_query("UPDATE user set pass='$newmd5pwd' where email='$_POST[email]'");


    موفق باشید

  6. #6
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password

    دوست عزیز !
    منظتر کد آماده نباش ! ضمنا بهتره که در صفحه تغییر رمز - رمز عبور قبلی درخواست شه ! و از لحاظ امنتی CSRF هم مورد نظر داشته باشید چون خیلی راحت میشه رمز عبور رو با CSRF هک کرد !
    بنده یک کد نمونه واستون میذارم ! خودتون نسبت به متغیرهای خودتون تغییرات رو اعمال کنید !

    <?php
    session_start();
    // Db Connect
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

    <body>
    <?php
    $username=$_SESSION['username']; // سشن کاربری خودتون رو تغییر بدید
    if(isset($_POST['changePass']) && isset($_POST['token_key']) && isset($_SESSION['token_key'])){
    if($_POST['token_key']==$_SESSION['token_key']){
    $old_password=md5($_POST['old_password']);
    $new_password=md5($_POST['new_password']);
    $re_new_password=md5($_POST['re_new_password']);
    if($new_password==$re_new_password){
    $qryPass=mysql_query("SELECT `password` FROM `users` WHERE `password`='$old_password' WHERE `username`='$username'");
    $objPass=mysql_fetch_object($qryPass);
    $db_old_password=$objPass->password;
    if($db_old_password==$old_password){
    $upPass=mysql_query("UPDATE `users` SET `password`='$new_password' WHERE `username`='$username'");
    }
    if($upPass){
    echo "Password Changed Successfuly";
    }
    }
    }
    }
    $token_key=md5(microtime());
    $_SESSION['token_key']=$token_key;
    ?>
    <form id="form1" name="form1" method="post" action="">
    <p>
    <label for="old_password"></label>
    <input type="text" name="old_password" id="old_password" />
    </p>
    <p>
    <label for="new_password"></label>
    <input type="text" name="new_password" id="new_password" />
    </p>
    <p>
    <label for="re_new_password"></label>
    <input type="text" name="re_new_password" id="re_new_password" />
    </p>
    <p>
    <input type="submit" name="changePass" id="changePass" value="Change Password" />
    <input name="hiddenField" type="hidden" id="hiddenField" value="<?php echo $token_key;?>" />
    </p>
    </form>
    </body>
    </html>

  7. #7

    نقل قول: ایجاد فایل change password

    pani.khoram

    میشه در فایلی که ضمیمه کردم انجام بدید؟ چون من از php سر در نمیارم.....ممنون
    فایل های ضمیمه فایل های ضمیمه

  8. #8

    نقل قول: ایجاد فایل change password

    نقل قول نوشته شده توسط pani.khoram مشاهده تاپیک
    این ساده ترین حالت ممکنه ، کاربر رمز عبور درخواستی خودش رو هم همزمان با ایمیل وارد کنه که البته نیاز است شما رمز عبور قبلی رو هم بگیری و می تونی با همین شیوه کد رو کامل کنید
    من چند خط کدی رو که ویرایش کردم دو خطه که در کد زیر می تونی جایگزین کنید



    <form name="form1" method="post" action="">

    <input type="submit" name="Submit" value="Send" class="btn">
    <input name="email" type="text" id="email" size="40" dir="ltr"><strong>:Email</strong>
    <input name="newpass" type="text" id="newpass" size="40" dir="ltr"><strong>:new password</strong>
    </form>


    $newpwd = $_POST['newpass'];
    $host = $_SERVER['HTTP_HOST'];
    $newmd5pwd = md5($newpwd);
    mysql_query("UPDATE user set pass='$newmd5pwd' where email='$_POST[email]'");


    موفق باشید
    این ارور رو میده
    كاربري با اين ايميل ثبت نشده است

  9. #9

    نقل قول: ایجاد فایل change password

    نقل قول نوشته شده توسط siavashsay مشاهده تاپیک
    دوست عزیز !
    منظتر کد آماده نباش ! ضمنا بهتره که در صفحه تغییر رمز - رمز عبور قبلی درخواست شه ! و از لحاظ امنتی CSRF هم مورد نظر داشته باشید چون خیلی راحت میشه رمز عبور رو با CSRF هک کرد !
    بنده یک کد نمونه واستون میذارم ! خودتون نسبت به متغیرهای خودتون تغییرات رو اعمال کنید !
    بلد نیستم . چطوری باید انجام بدم؟

  10. #10
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password



    1بلد نیستم . چطوری باید انجام بدم؟

    یعنی از PHP هیچی نمیدونید ؟! خوب اینکه خیلی سخت میشه واست !
    در ضمن فایل شما رو نگاه کردم ! فوق العاده ناقص هست !
    این چه اسکریپتی که با دادن یک ایمیل سریعا رمز اون رو عوض میکنه ؟!
    به فرض ایمیل من هست a@b.com و ایمیل شما هست b@b.com
    حالا میرم تو پنلم - تو قسمت تغییر رمز - بجای ایمیل خودم میزنم b@b.com
    چیزی که من در اسکریپت شما دیدم این بود که با زدن ایمیل رمز اون ایمیل رو عوض میکنه و هیچ مقایسه و شرطی نداره که اصلا این ایمیل مال شما هست یانه !
    در اینصورت من اومدم براحتی رمز شما رو عوض کردم !
    بیخیال این اسکریپت بشید :) ظاهرا خیلی مشکلات دیگه ای باید داشته باشه !
    آخرین ویرایش به وسیله siavashsay : جمعه 22 دی 1391 در 13:30 عصر

  11. #11

    نقل قول: ایجاد فایل change password

    میدونم خیلی ناقصه..... کاریش نمیشه کرد..... فقط همین مشکل حل بشه کفایت می کنه.

    اگه شدنیه فایل رو بی زحمت واسم تصحیح کنید. ممنون

  12. #12
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password

    دوست عزیز نمیشه !
    من اطلاعات کافی برای تغییر فایل شما رو ندارم ! باید بدونم نوع دریافت username و session های سایت شما و پیکر بندی اون چطوریه !

  13. #13

    نقل قول: ایجاد فایل change password

    خوب از کجا میشه فهمید username و session ?

  14. #14
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password

    دسترسی به کل سورستون ! :)
    آیا مقدور واستون ؟!

  15. #15

    نقل قول: ایجاد فایل change password

    ............................

  16. #16
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password

    کد صفحه ثبت نام یا لاگین رو اگر میتونید بذارید ( ثبت نام بهتره باز )
    توی اونها باید بشه پیدا کرد !

  17. #17

    Post نقل قول: ایجاد فایل change password

    ممنون برادر. ضمیمه شد.
    فایل های ضمیمه فایل های ضمیمه

  18. #18
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password

    این کد رو نوشتم ! تست کن ! خبرشو بده !
    فقط توجه کن ! توی 2 تا قسمت که نوشتم :
    //username در دیتابیس چک شود 

    اونجا توی Query ها اگر توجه کنی نوشته :
    `username`='$username'
    توی دیتابیس ببین که فیلد username چی هست ! اگه username بود که هیچ ! اگر نه مثلا uname یا myusername بود کد کوئری های رو تغییر بده به اینصورت :
    `myusername`='$username'
    یا هر چی دیگه که اسم فیلدت هست توی دیتابیس !

    <?php
    session_start();
    $getPageTitle="تغییر کلمه عبور";


    function getContentTpl(){
    include '../db_connect.php';
    ?>
    <div class="getContentBox">
    <div class="content_top"><div class="getTitleContent">تغییر کلمه عبور</div>
    </div>
    <div class="content_bg"><div class="cop">
    <center>
    <?php
    error_reporting(0);
    $username=$_SESSION['myusername'];
    if(isset($_POST['chPass']) && isset($_POST['token_key']) && isset($_SESSION['token_key'])){
    if($_POST['token_key'] == $_SESSION['token_key']){
    if(!empty($_POST['old_pass']) && !empty($_POST['new_pass']) && !empty($_POST['re_new_pass'])){
    $old_pass=md5($_POST['old_pass']);
    $new_pass=md5($_POST['new_pass']);
    $re_new_pass=md5($_POST['re_new_pass']);
    if($new_pass == $re_new_pass){
    $qry=mysql_query("SELECT * FROM `users` WHERE `username`='$username' AND `pass`='$old_pass'"); // username در دیتابیس چک شود
    $nr=mysql_num_rows($qry);
    if($nr==1){
    $qryUp=mysql_query("UPDATE `users` SET `pass`='$new_pass' WHERE `username`='$username'"); //username در دیتابیس چک شود
    echo "کلمه عبور با موفقیت تغییر یافت ";
    // end num rows
    }else{
    echo " کلمه عبور قبلی درست نمیباشد ";
    }
    // end check new passes
    }else{
    echo "رمز عبور جدید و تکرار آن برابر نیستند ";
    }

    //end empty
    }
    //end token
    }
    }
    $token_key=md5(microtime());
    $_SESSION['token_key']=$token_key;

    ?>
    <form name="form1" method="post" action="">
    <table width="400" border="0">
    <tr>
    <td width="199"><label for="old_pass"></label>
    <input type="text" name="old_pass" id="old_pass"></td>
    <td width="191">رمز عبور قبلی</td>
    </tr>
    <tr>
    <td><label for="new_pass"></label>
    <input type="password" name="new_pass" id="new_pass"></td>
    <td>رمز عبور جدید</td>
    </tr>
    <tr>
    <td><label for="re_new_pass"></label>
    <input type="password" name="re_new_pass" id="re_new_pass"></td>
    <td>تکرار رمز عبور جدید</td>
    </tr>
    <tr>
    <td><input type="submit" name="chPass" id="chPass" value="تغییر رمز">
    <input name="token_key" type="hidden" id="token_key" value="<?php echo $token_key;?>"></td>
    <td>&nbsp;</td>
    </tr>
    </table>
    </form>
    </center>
    </div>
    </div>
    <div class="content_bt"></div>
    </div>
    <div class="clear"></div>
    <?

    }
    include '../jdf.php';
    include 'getTheme.php';
    ?>

    هر error که پیش اومد بگو تا درستش کنم بازم !

  19. #19

    نقل قول: ایجاد فایل change password

    فیلد همون username هستش

    اما بازم میگه : کلمه عبور قبلی درست نمیباشد

    ؟

  20. #20
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password

    بذار ببینم !
    این صفحه بعد لاگین کردن هست یا نه ؟!
    یعنی این صفحه واسه Reset کردن رمز هست یا تغییر رمز ؟!
    این 2 تا باهم فرق دارنا !
    بهم بگو این صفحه بعد لاگین کردن توی سایت هست یا نه ؟!

  21. #21

    نقل قول: ایجاد فایل change password

    بعد لاگین کردن این صفحه قرار داره.

  22. #22
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password

    این کد رو دوباره استفاده کن ببین دقیقا Error Mysql چی هست ! بهم بگو !

    <?php
    session_start();
    $getPageTitle="تغییر کلمه عبور";


    function getContentTpl(){
    include '../db_connect.php';
    ?>
    <div class="getContentBox">
    <div class="content_top"><div class="getTitleContent">تغییر کلمه عبور</div>
    </div>
    <div class="content_bg"><div class="cop">
    <center>
    <?php
    error_reporting(0);
    $username=$_SESSION['myusername'];
    if(isset($_POST['chPass']) && isset($_POST['token_key']) && isset($_SESSION['token_key'])){
    if($_POST['token_key'] == $_SESSION['token_key']){
    if(!empty($_POST['old_pass']) && !empty($_POST['new_pass']) && !empty($_POST['re_new_pass'])){
    $old_pass=md5($_POST['old_pass']);
    $new_pass=md5($_POST['new_pass']);
    $re_new_pass=md5($_POST['re_new_pass']);
    if($new_pass == $re_new_pass){
    $qry=mysql_query("SELECT * FROM `users` WHERE `username`='$username' AND `pass`='$old_pass'") or die (mysql_error()); // username در دیتابیس چک شود
    $nr=mysql_num_rows($qry) or die (mysql_error());
    if($nr==1){
    $qryUp=mysql_query("UPDATE `users` SET `pass`='$new_pass' WHERE `username`='$username'") or die (mysql_error()); //username در دیتابیس چک شود
    echo "کلمه عبور با موفقیت تغییر یافت ";
    // end num rows
    }else{
    echo " کلمه عبور قبلی درست نمیباشد ";
    }
    // end check new passes
    }else{
    echo "رمز عبور جدید و تکرار آن برابر نیستند ";
    }

    //end empty
    }
    //end token
    }
    }
    $token_key=md5(microtime());
    $_SESSION['token_key']=$token_key;

    ?>
    <form name="form1" method="post" action="">
    <table width="400" border="0">
    <tr>
    <td width="199"><label for="old_pass"></label>
    <input type="text" name="old_pass" id="old_pass"></td>
    <td width="191">رمز عبور قبلی</td>
    </tr>
    <tr>
    <td><label for="new_pass"></label>
    <input type="password" name="new_pass" id="new_pass"></td>
    <td>رمز عبور جدید</td>
    </tr>
    <tr>
    <td><label for="re_new_pass"></label>
    <input type="password" name="re_new_pass" id="re_new_pass"></td>
    <td>تکرار رمز عبور جدید</td>
    </tr>
    <tr>
    <td><input type="submit" name="chPass" id="chPass" value="تغییر رمز">
    <input name="token_key" type="hidden" id="token_key" value="<?php echo $token_key;?>"></td>
    <td>&nbsp;</td>
    </tr>
    </table>
    </form>
    </center>
    </div>
    </div>
    <div class="content_bt"></div>
    </div>
    <div class="clear"></div>
    <?

    }
    include '../jdf.php';
    include 'getTheme.php';
    ?>

  23. #23

    نقل قول: ایجاد فایل change password

    Table 'setarehg_90.users' doesn't exist

  24. #24
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password

    دوست عزیز !
    مشکل شما دیتابیس و table هست !
    فایل db_connect خودتون رو یک نگاهی بندازید !

  25. #25

    نقل قول: ایجاد فایل change password

    دیتابیس رو واستون پ.خ کردم

    ممنون

  26. #26
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password

    دوست عزیز ! جدول اعضای شما USER هست نه USERS ! پس اون رو توی کوئری ها تغییر بدید ! اون s رو از آخرش بردارید !
    نتیجه رو هم اعلام کن ببینم چی شد بالاخره ! :)

  27. #27

    نقل قول: ایجاد فایل change password



    ممنون عزیز....... . نمیدونم چطور ازت تشکر کنم.

    فدات

  28. #28
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    سن
    37
    پست
    732

    نقل قول: ایجاد فایل change password

    خواهش میکنم ! :)
    موفق باشید !

تاپیک های مشابه

  1. ایجاد فایل پاک نشدنی
    نوشته شده توسط Developer Programmer در بخش برنامه نویسی در Delphi
    پاسخ: 8
    آخرین پست: پنج شنبه 26 شهریور 1383, 07:51 صبح
  2. ایجاد فایل روی سرور
    نوشته شده توسط amir_king2_2 در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: دوشنبه 13 بهمن 1382, 22:01 عصر
  3. بدست آوردن تاریخ ایجاد فایل
    نوشته شده توسط fahimi در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 2
    آخرین پست: جمعه 12 دی 1382, 13:16 عصر
  4. ایجاد فایل متنی یونیکد
    نوشته شده توسط majid_n در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: شنبه 06 دی 1382, 18:19 عصر
  5. ایجاد فایل اکسس در برنامه
    نوشته شده توسط disappear در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: چهارشنبه 01 مرداد 1382, 12:58 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •