Advertisement
Guest User

NoSpam

a guest
May 5th, 2010
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 4.10 KB | None | 0 0
  1. diff --git a/header.php b/header.php
  2. index c994635..f16eeff 100644
  3. --- a/header.php
  4. +++ b/header.php
  5. @@ -118,9 +118,9 @@ function process_form(the_form)
  6.         for (var i = 0; i < the_form.length; ++i)
  7.         {
  8.             var elem = the_form.elements[i]
  9. -           if (elem.name && elem.name.substring(0, 4) == "req_")
  10. +           if (elem.name && elem.name != "req_username" && elem.name.substring(0, 4) == "req_")
  11.             {
  12. -               if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password" || elem.type=="file") && elem.value=='')
  13. +               if (elem.type && (elem.type == "text" || elem.type == "textarea" || elem.type == "password" || elem.type == "file") && elem.value == "")
  14.                 {
  15.                     alert("\"" + element_names[elem.name] + "\" <?php echo $lang_common['required field'] ?>")
  16.                     elem.focus()
  17. diff --git a/register.php b/register.php
  18. index 4ec7fb5..4ca2a83 100644
  19. --- a/register.php
  20. +++ b/register.php
  21. @@ -60,19 +60,24 @@ else if ($pun_config['o_rules'] == '1' && !isset($_GET['agree']) && !isset($_POS
  22.     require PUN_ROOT.'footer.php';
  23.  }
  24.  
  25. +session_start();
  26. +$_SESSION['username_field'] = isset($_SESSION['username_field']) ? $_SESSION['username_field'] : 'req_field_'.random_key(10, true);
  27. +
  28.  // Start with a clean slate
  29.  $errors = array();
  30.  
  31.  if (isset($_POST['form_sent']))
  32.  {
  33. +   if (!empty($_POST['req_username']))
  34. +       message($lang_common['Bad request']);
  35. +
  36.     // Check that someone from this IP didn't register a user within the last hour (DoS prevention)
  37.     $result = $db->query('SELECT 1 FROM '.$db->prefix.'users WHERE registration_ip=\''.get_remote_address().'\' AND registered>'.(time() - 3600)) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
  38.  
  39.     if ($db->num_rows($result))
  40.         message($lang_register['Registration flood']);
  41.  
  42. -
  43. -   $username = pun_trim($_POST['req_username']);
  44. +   $username = pun_trim($_POST[$_SESSION['username_field']]);
  45.     $email1 = strtolower(trim($_POST['req_email1']));
  46.  
  47.     if ($pun_config['o_regs_verify'] == '1')
  48. @@ -227,8 +232,10 @@ if (isset($_POST['form_sent']))
  49.  
  50.  
  51.  $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_register['Register']);
  52. -$required_fields = array('req_username' => $lang_common['Username'], 'req_password1' => $lang_common['Password'], 'req_password2' => $lang_prof_reg['Confirm pass'], 'req_email1' => $lang_common['Email'], 'req_email2' => $lang_common['Email'].' 2');
  53. -$focus_element = array('register', 'req_username');
  54. +$required_fields = array($_SESSION['username_field'] => $lang_common['Username'], 'req_password1' => $lang_common['Password'], 'req_password2' => $lang_prof_reg['Confirm pass'], 'req_email1' => $lang_common['Email'], 'req_email2' => $lang_common['Email'].' 2');
  55. +$focus_element = array('register', $_SESSION['username_field']);
  56. +$page_head = array('<style type="text/css">#register label.usernamefield { display: none }</style>');
  57. +
  58.  define('PUN_ACTIVE_PAGE', 'register');
  59.  require PUN_ROOT.'header.php';
  60.  
  61. @@ -280,7 +287,8 @@ if (!empty($errors))
  62.                     <legend><?php echo $lang_register['Username legend'] ?></legend>
  63.                     <div class="infldset">
  64.                         <input type="hidden" name="form_sent" value="1" />
  65. -                       <label class="required"><strong><?php echo $lang_common['Username'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br /><input type="text" name="req_username" value="<?php if (isset($_POST['req_username'])) echo pun_htmlspecialchars($_POST['req_username']); ?>" size="25" maxlength="25" /><br /></label>
  66. +                       <label class="required usernamefield"><strong><?php echo $lang_common['Username'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br /><input type="text" name="req_username" value="" size="25" maxlength="25" /><br /></label>
  67. +                       <label class="required"><strong><?php echo $lang_common['Username'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br /><input type="text" name="<?php echo $_SESSION['username_field']; ?>" value="<?php if (isset($_POST[$_SESSION['username_field']])) echo pun_htmlspecialchars($_POST[$_SESSION['username_field']]); ?>" size="25" maxlength="25" /><br /></label>
  68.                     </div>
  69.                 </fieldset>
  70.             </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement