misc_secqaa.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: misc_secqaa.php 33682 2013-08-01 06:37:41Z nemohou $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. $idhash = isset($_GET['idhash']) && preg_match('/^\w+$/', $_GET['idhash']) ? $_GET['idhash'] : '';
  12. if($_GET['action'] == 'update') {
  13. $refererhost = parse_url($_SERVER['HTTP_REFERER']);
  14. $refererhost['host'] .= !empty($refererhost['port']) ? (':'.$refererhost['port']) : '';
  15. if($refererhost['host'] != $_SERVER['HTTP_HOST']) {
  16. exit('Access Denied');
  17. }
  18. $message = '';
  19. $showid = 'secqaa_'.$idhash;
  20. if($_G['setting']['secqaa']) {
  21. $question = make_secqaa();
  22. }
  23. $message = preg_replace("/\r|\n/", '', $question);
  24. $message = str_replace("'", "\'", $message);
  25. $seclang = lang('forum/misc');
  26. echo <<<EOF
  27. if($('$showid')) {
  28. var sectpl = seccheck_tpl['$idhash'] != '' ? seccheck_tpl['$idhash'].replace(/<hash>/g, 'code$idhash') : '';
  29. var sectplcode = sectpl != '' ? sectpl.split('<sec>') : Array('<br />',': ','<br />','');
  30. var string = '<input name="secqaahash" type="hidden" value="$idhash" />' + sectplcode[0] + '$seclang[secqaa]' + sectplcode[1] + '<input name="secanswer" id="secqaaverify_$idhash" type="text" autocomplete="off" style="{$imemode}width:100px" class="txt px vm" onblur="checksec(\'qaa\', \'$idhash\')" />' +
  31. ' <a href="javascript:;" onclick="updatesecqaa(\'$idhash\');doane(event);" class="xi2">$seclang[seccode_update]</a>' +
  32. '<span id="checksecqaaverify_$idhash"><img src="' + STATICURL + 'image/common/none.gif" width="16" height="16" class="vm" /></span>' +
  33. sectplcode[2] + '$message' + sectplcode[3];
  34. evalscript(string);
  35. $('$showid').innerHTML = string;
  36. }
  37. EOF;
  38. } elseif($_GET['action'] == 'check') {
  39. include template('common/header_ajax');
  40. echo check_secqaa($_GET['secverify'], $idhash) ? 'succeed' : 'invalid';
  41. include template('common/footer_ajax');
  42. }
  43. ?>