Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kodowanie
Forum PHP.pl > Forum > Przedszkole
Kynval
witam.
mam problem.

to jest plik rejestracji kont, ale on automatycznie koduje hasla w md5, niestety moj server tego nie obsluguje.
dlatego chcialbym poprosic o pomoc, mianowicie, chciałbym, ażeby rejestracja dokonywała się bez problemów, natomiast, aby nie występowało kodowanie.

z góry dziękuje.

oto kod php:

  1. <?
  2.  
  3. if(!defined('SkyTeamPageRUNNING') OR !$page["rejestracja"])
  4. {
  5. die("Include error..");
  6. }
  7. ?>
  8. <div style="text-align:center">
  9. <?php
  10. if($reg == 1)
  11. {
  12. include "mupagecore/coreincludes/logsth.php";
  13.  
  14. $login = $_POST["login"];
  15. $pw = $_POST["pw"];
  16. $cpw = $_POST["cpw"];
  17.  
  18. $login = trim($login);
  19. $pw = trim($pw);
  20. $cpw = trim($cpw);
  21.  
  22. $name = $login;
  23.  
  24. if($page["validate_by_email"])
  25. {
  26. $naglowki = $lang_email_header;
  27.  
  28. function IsEMail($e)
  29. {
  30. $atom = '[-a-z0-9!#$%&\'*+/=?^_`{|}~]'; // allowed characters for part before "at" character
  31. $domain = '([a-z]([-a-z0-9]*[a-z0-9]+)?)'; // allowed characters for part after "at" character
  32.  
  33. $regex = '^' . $atom . '+' . // One or more atom characters.
  34. '(\.' . $atom . '+)*'. // Followed by zero or more dot separated sets of one or more atom characters.
  35. '@'. // Followed by an "at" character.
  36. '(' . $domain . '{1,63}\.)+'. // Followed by one or max 63 domain characters (dot separated).
  37. $domain . '{2,63}'. // Must be followed by one set consisting a period of two
  38. '$'; // or max 63 domain characters.
  39.  
  40. if (strlen($e) == 0)
  41. {
  42. return false;
  43. }
  44. elseif(count(explode("@",$e)) != 2)
  45. {
  46. return false;
  47. }
  48. else
  49. {
  50. if (eregi($regex, $e))
  51. {
  52. return true;
  53. }
  54. else
  55. {
  56. return false;
  57. }
  58. }
  59. return false;
  60. }
  61.  
  62. if(isEMail($_POST['email']))
  63. {
  64. // check if its in database..
  65.  
  66. if(strpos($_POST['email'], "'") !== false)
  67. $email = false;
  68. else
  69. {
  70. $check_mail = mssql_query("SELECT EMail FROM ST_EMAIL WHERE EMail = '".$_POST['email']."'");
  71. $check_mail = mssql_fetch_row($check_mail);
  72. if($check_mail[0] == $_POST['email'])
  73. {
  74. echo $lang_email_alredy_used.'<br>';
  75. $email = false;
  76. }
  77. else
  78. {
  79. $email = $_POST['email'];
  80. $mail_hash = md5(md5($nazwa.$email).md5($login,psw).md5(date('U')));
  81. }
  82. }
  83. }
  84. else
  85. {
  86. $email = false;
  87. }
  88. }
  89. else
  90. {
  91. $email = 'Rejestracja przez strone';
  92. }
  93. //temp
  94. //$email = 'Rejestracja przez strone';
  95.  
  96. $prq = "pyt";
  97. $pra = "odp";
  98.  
  99. if(!$email)
  100. {
  101. echo $lang_email_error;
  102. addtolog("<b>Wrong Email ".$_POST['email']."</b>","REG");
  103. }
  104. elseif((strtoupper($_POST['regconfirm']) != $HTTP_SESSION_VARS['regcode'] OR empty($_POST['regconfirm'])) AND $page["reg_code"])
  105. {
  106. echo $lang_reg_wrong_confirm_code;
  107. addtolog("<b>Wrong code</b>","REG");
  108. }
  109. elseif(ereg("[^0-9a-zA-Z_-]", $login, $str))
  110. {
  111. echo $lang_login_wrong_chars;
  112. addtolog("<b>Wrong Chars (login) $login</b>","REG");
  113. }
  114. elseif(ereg("[^0-9a-zA-Z_-]", $pw, $str))
  115. {
  116. echo $lang_pw_wrong_chars;
  117. addtolog("<b>Wrong Chars (pass) $pass</b>","REG");
  118. }
  119. else
  120. {
  121. $login_test = strtolower($login);
  122. $resultx = mssql_query("SELECT LOWER(memb___id) FROM MEMB_INFO WHERE LOWER(memb___id) = ('$login_test')") or die;
  123.  
  124. if (mssql_num_rows($resultx))
  125. {
  126. echo $lang_this_acc_exist;
  127. addtolog("<b>Exist account $login</b>","REG");
  128. }
  129. elseif (empty($login) || empty($name) || empty($email) || empty($pw) || empty($cpw))
  130. {
  131. echo $lang_fill_fields;
  132. }
  133. elseif (strlen($login) < 4)
  134. {
  135. echo $lang_login_too_short;
  136. }
  137. elseif (strlen($pw) < 4)
  138. {
  139. echo $lang_pass_too_short;
  140. }
  141. elseif (strlen($pw) > 10)
  142. {
  143. echo $lang_pass_too_long;
  144. }
  145. elseif (strlen($login) > 10)
  146. {
  147. echo $lang_login_too_long;
  148. }
  149. elseif ($pw != $cpw)
  150. {
  151. echo $lang_pass_not_correct;
  152. }
  153. else
  154. {
  155. if($page["validate_by_email"] AND !$page["register_after_validation"]) // send mail..
  156. {
  157. mail($_POST['email'], $nazwa.$lang_email_title, sprintf($lang_email_content_1,$login,$nazwa,$mail_hash), $naglowki);
  158. mssql_query("INSERT INTO ST_EMAIL (AccountID,EMail,Fine,hash) values('$login','$email',0,'$mail_hash',".date('U').")");
  159. echo $lang_email_you_will_get_it.'<br>';
  160. }
  161.  
  162. if(!$page["register_after_validation"] OR !$page["validate_by_email"])
  163. {
  164. addtolog("<b>REG: $login $pw</b>","REG");
  165. //mssql_query("INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_
    Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days ) VALUES ('20055','1',1234,'$login','$login',1,'7','6','3','6','6',getdate(),0 )") or die('error, account exists');
  166. mssql_query("
  167. DECLARE @btOutVal BINARY(16)
  168. SET @btOutVal = MuOnline.dbo.UFN_MD5_ENCODEVALUE ( '$pw', '$login')
  169. INSERT INTO MEMB_INFO (memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__
    numb,mail_addr,phon_numb,fpas_ques,fpas_answ,job__code,appl_days,modi_days,out__d
    ays,true_days,mail_chek,bloc_code,ctl1_code)
  170. VALUES ('$login',@btOutVal,'Name', '1','1234','11111','personalid','12343','$email','$email','$prq','$pra','1',getdate(),getdate(),getdate(),getdate(),'1','0','1')") or die('error, query failed');
  171.  
  172. echo $lang_acc_done;
  173. }
  174. else
  175. {
  176. mail($_POST['email'], $nazwa.$lang_email_title, sprintf($lang_email_content_2,$login,$nazwa,$mail_hash), $naglowki);
  177. mssql_query("INSERT INTO ST_EMAIL (AccountID,EMail,Fine,hash) values('$login','$email',0,'$mail_hash',".date('U').")");
  178. mssql_query("SET IDENTITY_INSERT MEMB_INFO ON INSERT INTO MEMB_INFO (memb_guid,memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_
    deta,tel__numb,mail_addr,phon_numb,fpas_ques,fpas_answ,job__code,appl_days,modi_d
    ays,out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('1','$login','$pw','$name', '1','1234','11111','personalid','12343','$email','$email','$prq','$pra','1',getdate(),getdate(),getdate(),getdate(),'1','0','1')"
    ) or die('error, query failed');
  179.  
  180. addtolog("<b>Wait to register: $login $pw [$mail_hash]</b>","REG");
  181. echo $lang_email_you_need_to_veryf_your_acc_before_you_can_play;
  182. }
  183. }
  184. }
  185. }
  186. else
  187. {
  188. echo '<div style="text-align:center;">'.$lang_sorry_reg_off.'</div>';
  189. include "mupagecore/coreincludes/logsth.php";
  190. addtolog("<b>TRYING TO HACK REG SCRIPT: $login $pw</b>","REG");
  191. }
  192.  
  193.  
  194. $login2 = $HTTP_SESSION_VARS['loginvar'];
  195. $login = $HTTP_SESSION_VARS['loginvar'];
  196. ?>
  197. </div>
CuteOne
Ten skrypt był pisany 10 lat temu i jest pełen dziur - lepiej skorzystaj z innej stronki pod Mu
Kynval
a nie jestes w stanie tylko wyłączyć kodowania? smile.gif
plz.

albo... inny plik...
nie koduje, ale również nie tworzy konta:

  1. <?
  2.  
  3. if(!defined('SkyTeamPageRUNNING') OR !$page["rejestracja"])
  4. {
  5. die("Include error..");
  6. }
  7. ?>
  8. <div style="text-align:center">
  9. <?php
  10. if($reg == 1)
  11. {
  12. include "mupagecore/coreincludes/logsth.php";
  13.  
  14. $login = $_POST["login"];
  15. $pw = $_POST["pw"];
  16. $cpw = $_POST["cpw"];
  17.  
  18. $login = trim($login);
  19. $pw = trim($pw);
  20. $cpw = trim($cpw);
  21.  
  22. $name = $login;
  23.  
  24. if($page["validate_by_email"])
  25. {
  26. $naglowki = $lang_email_header;
  27.  
  28. function IsEMail($e)
  29. {
  30. $atom = '[-a-z0-9!#$%&\'*+/=?^_`{|}~]'; // allowed characters for part before "at" character
  31. $domain = '([a-z]([-a-z0-9]*[a-z0-9]+)?)'; // allowed characters for part after "at" character
  32.  
  33. $regex = '^' . $atom . '+' . // One or more atom characters.
  34. '(\.' . $atom . '+)*'. // Followed by zero or more dot separated sets of one or more atom characters.
  35. '@'. // Followed by an "at" character.
  36. '(' . $domain . '{1,63}\.)+'. // Followed by one or max 63 domain characters (dot separated).
  37. $domain . '{2,63}'. // Must be followed by one set consisting a period of two
  38. '$'; // or max 63 domain characters.
  39.  
  40. if (strlen($e) == 0)
  41. {
  42. return false;
  43. }
  44. elseif(count(explode("@",$e)) != 2)
  45. {
  46. return false;
  47. }
  48. else
  49. {
  50. if (eregi($regex, $e))
  51. {
  52. return true;
  53. }
  54. else
  55. {
  56. return false;
  57. }
  58. }
  59. return false;
  60. }
  61.  
  62. if(isEMail($_POST['email']))
  63. {
  64. // check if its in database..
  65.  
  66. if(strpos($_POST['email'], "'") !== false)
  67. $email = false;
  68. else
  69. {
  70. $check_mail = mssql_query("SELECT EMail FROM ST_EMAIL WHERE EMail = '".$_POST['email']."'");
  71. $check_mail = mssql_fetch_row($check_mail);
  72. if($check_mail[0] == $_POST['email'])
  73. {
  74. echo $lang_email_alredy_used.'<br>';
  75. $email = false;
  76. }
  77. else
  78. {
  79. $email = $_POST['email'];
  80. $mail_hash = md5(md5($nazwa.$email).md5($login,psw).md5(date('U')));
  81. }
  82. }
  83. }
  84. else
  85. {
  86. $email = false;
  87. }
  88. }
  89. else
  90. {
  91. $email = 'Rejestracja przez strone';
  92. }
  93. //temp
  94. //$email = 'Rejestracja przez strone';
  95.  
  96. $prq = "pyt";
  97. $pra = "odp";
  98.  
  99. if(!$email)
  100. {
  101. echo $lang_email_error;
  102. addtolog("<b>Wrong Email ".$_POST['email']."</b>","REG");
  103. }
  104. elseif((strtoupper($_POST['regconfirm']) != $HTTP_SESSION_VARS['regcode'] OR empty($_POST['regconfirm'])) AND $page["reg_code"])
  105. {
  106. echo $lang_reg_wrong_confirm_code;
  107. addtolog("<b>Wrong code</b>","REG");
  108. }
  109. elseif(ereg("[^0-9a-zA-Z_-]", $login, $str))
  110. {
  111. echo $lang_login_wrong_chars;
  112. addtolog("<b>Wrong Chars (login) $login</b>","REG");
  113. }
  114. elseif(ereg("[^0-9a-zA-Z_-]", $pw, $str))
  115. {
  116. echo $lang_pw_wrong_chars;
  117. addtolog("<b>Wrong Chars (pass) $pass</b>","REG");
  118. }
  119. else
  120. {
  121. $login_test = strtolower($login);
  122. $resultx = mssql_query("SELECT LOWER(memb___id) FROM MEMB_INFO WHERE LOWER(memb___id) = ('$login_test')") or die;
  123.  
  124. if (mssql_num_rows($resultx))
  125. {
  126. echo $lang_this_acc_exist;
  127. addtolog("<b>Exist account $login</b>","REG");
  128. }
  129. elseif (empty($login) || empty($name) || empty($email) || empty($pw) || empty($cpw))
  130. {
  131. echo $lang_fill_fields;
  132. }
  133. elseif (strlen($login) < 4)
  134. {
  135. echo $lang_login_too_short;
  136. }
  137. elseif (strlen($pw) < 4)
  138. {
  139. echo $lang_pass_too_short;
  140. }
  141. elseif (strlen($pw) > 10)
  142. {
  143. echo $lang_pass_too_long;
  144. }
  145. elseif (strlen($login) > 10)
  146. {
  147. echo $lang_login_too_long;
  148. }
  149. elseif ($pw != $cpw)
  150. {
  151. echo $lang_pass_not_correct;
  152. }
  153. else
  154. {
  155. if($page["validate_by_email"] AND !$page["register_after_validation"]) // send mail..
  156. {
  157. mail($_POST['email'], $nazwa.$lang_email_title, sprintf($lang_email_content_1,$login,$nazwa,$mail_hash), $naglowki);
  158. mssql_query("INSERT INTO ST_EMAIL (AccountID,EMail,Fine,hash) values('$login','$email',0,'$mail_hash',".date('U').")");
  159. echo $lang_email_you_will_get_it.'<br>';
  160. }
  161.  
  162. if(!$page["register_after_validation"] OR !$page["validate_by_email"])
  163. {
  164. addtolog("<b>REG: $login $pw</b>","REG");
  165. mssql_query("INSERT INTO VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_
    Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days ) VALUES ('20055','1',1234,'$login','$login',1,'7','6','3','6','6',getdate(),'0' )"
    ) or die('error, account exists');
  166. mssql_query("SET IDENTITY_INSERT MEMB_INFO ON INSERT INTO MEMB_INFO (memb_guid,memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_
    deta,tel__numb,mail_addr,phon_numb,fpas_ques,fpas_answ,job__code,appl_days,modi_d
    ays,out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('1','$login','$pw','$name', '1','1234','11111','personalid','12343','$email','$email','$prq','$pra','1',getdate(),getdate(),getdate(),getdate(),'1','0','1')"
    ) or die('error, query failed');
  167. echo $lang_acc_done;
  168. }
  169. else
  170. {
  171. mail($_POST['email'], $nazwa.$lang_email_title, sprintf($lang_email_content_2,$login,$nazwa,$mail_hash), $naglowki);
  172. mssql_query("INSERT INTO ST_EMAIL (AccountID,EMail,Fine,hash) values('$login','$email',0,'$mail_hash',".date('U').")");
  173.  
  174. addtolog("<b>Wait to register: $login $pw [$mail_hash]</b>","REG");
  175. echo $lang_email_you_need_to_veryf_your_acc_before_you_can_play;
  176. }
  177. }
  178. }
  179. }
  180. else
  181. {
  182. echo $lang_sorry_reg_off;
  183. include "mupagecore/coreincludes/logsth.php";
  184. addtolog("<b>TRYING TO HACK REG SCRIPT: $login $pw</b>","REG");
  185. }
  186.  
  187.  
  188. $login2 = $HTTP_SESSION_VARS['loginvar'];
  189. $login = $HTTP_SESSION_VARS['loginvar'];
  190. ?>
  191. </div>


ktos chce pomóc?
wNogachSpisz
PHP bez md5()?

Poszukaj skryptu implementującego md5 w php, np:
http://stackoverflow.com/questions/1697882...m-i-going-wrong
Bateria
  1. <html>
  2. <head>
  3. <title>rejestracja</title>
  4. </head>
  5. <body>
  6. <form method="post" action="">
  7. Login: <input type="text" name="login">
  8. Haslo: <input type="password" name="password">
  9. email: <input type="text" name="email">
  10. </form>
  11. </body>
  12. </html>
  13. <?php
  14. $mysql = mysql_connect('localhost','root','pass') or die (mysql_error());
  15. $mysql = mysql_select_db('dbname') or die (mysql_error());
  16.  
  17. $login = $_POST['email'];
  18. $password = $_POST['password'];
  19. $email = $_POST['email'];
  20.  
  21. $query = mysql_query("INSERT INTO users ('login','password','email') VALUES ($login, $password, $email);");
  22.  
  23. if($query){
  24. echo('zarejestrowany poprawnie');
  25. } else {
  26. echo('blad w rejestracji');
  27. }
  28. ?>


Skorzystaj jak na początek z czegoś prostego, dopisz sobie do tego tylko wyrażenia regularne i dostosuj pola do swoich potrzeb.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.