Guest User

Untitled

a guest
Nov 24th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. <?
  2. include("reglib.php");
  3.  
  4. function String_Begins_With($needle, $haystack) {
  5. return (substr($haystack, 0, strlen($needle))==$needle);
  6. }
  7.  
  8. dbconn();
  9.  
  10. $nick=trim($_POST['username']);
  11. $password=$_POST['password'];
  12. $ip=$_SERVER['REMOTE_ADDR'];
  13. if (!$ip)
  14. message("Ошибка при определении IP-адреса.");
  15.  
  16. switch ($ip){
  17. case "10.99.144.126":
  18. case "10.58.20.252":
  19. case "10.58.16.227":
  20. case "10.58.19.177":
  21. break;
  22. default:
  23. $query = mysql_query("SELECT * FROM reglist WHERE reg_ip=".sqlesc($ip));
  24. if(mysql_num_rows($query)>0)
  25. message("Ошибка, с вашего IP-адреса уже произведена регистрация\n<br/>Свяжитесь с администрацией хаба.");
  26. }
  27.  
  28. $regdate=mktime();
  29.  
  30. $allowedchars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789()[]{}_-+=.АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя,@=#^~/'."\\'".'©*"';
  31.  
  32. $admin_prefix=array("[C]","[A]","[B]","[V]","[c]","[a]","[b]","[v]","[РЎ]","[Рђ]","[Р’]","+");
  33. foreach ($admin_prefix as $prefix){
  34. if (String_Begins_With($prefix,$nick))
  35. message("Нарушение пункта правил <a href='../rules.html' target='_new'>[#8]</a> касательно ника.\n<br /><br />Ник не может ничинаться с административных приставок таких как\n<br /> '[C]', '[A]', '[B]', '[V]' и символа '+'.");
  36. }
  37. for ($i = 0; $i < strlen($nick); ++$i)
  38. if (strpos($allowedchars, $nick[$i]) === false)
  39. message("Ник содержит запрещённые символы");
  40.  
  41. if(strlen($nick)<3)
  42. message("Минимальная длина ника - 5 символа");
  43. if(strlen($nick)>64)
  44. message("Максимальная длина ника - 64 символа");
  45.  
  46. $allowedchars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
  47. for ($i = 0; $i < strlen($password); ++$i)
  48. if (strpos($allowedchars, $password[$i]) === false)
  49. message("Пароль содержит запрещённые символы, допускаются только английские буквы и цифры");
  50. if(strlen($password)<6 || strlen($password)>20)
  51. message("Ваш пароль не удовлетворяет критериям безопасности. минимум символов - 6, максимум - 20");
  52.  
  53. $query = mysql_query("SELECT * FROM reglist WHERE nick=".sqlesc($nick));
  54. if(mysql_num_rows($query)>0)
  55. message("Введеный вами ник уже используется в системе.");
  56.  
  57. $query = "INSERT INTO `reglist` (`nick`,`class`,`reg_op`,`reg_date`,`reg_ip`,login_pwd,pwd_crypt,pwd_change) values('$nick',1,'reg_bot','$regdate','$ip','$password',0,0)";
  58. echo $query;
  59. if (! mysql_query($query)) {
  60. die(mysql_error());
  61. }if (! mysql_query($query)) {
  62. die(mysql_error().' caused by '.$query);
  63. message("Ошибка регистрации ника на хабе!\n<br />Свяжитесь с администрацией");
  64. else
  65. message("Регистрация прошла успешно.");
  66. ?>
Add Comment
Please, Sign In to add comment