묻고답하기

 

admin에서는 로그인이 됩니다.  (메일주소, 비번)

그러나 홈페이지에서 (메일주소, 비번)로그인하면 이렇게 뜨면서 로그인이 안됩니다.

 q.jpg

 

홈주소는       http:// lovekim.kr   입니다.

답변부탁드립니다.

 

제로보드    XE Core ver. 1.7.3.4  설치했습니다.

레이아웃스킨은    XE 선우BCL(일반형) 레이아웃 ver 1.0 (xe_sunooBCLg)  을 사용하고 있습니다.

 

 

제로보드XE를 설치한 폴더\common\js 안의 xml_js_filter.js    의 내용입니다.

보시고 어느곳을 수정해야 하는 지요?

 

/**
 * @file   common/js/xml_js_filter.js
 * @author NHN (developers@xpressengine.com)
 * @brief  xml filter (validator) plugin
 *
 * A rule is a method validate one field.
 * A filter is made up of one or more rules.
 **/
(function($){

var messages  = [];
var rules     = [];
var filters   = {};
var callbacks = [];
var extras    = {};

var Validator = xe.createApp('Validator', {
 init : function() {
  // {{{ add filters
  // email
  var regEmail = /^[\w-]+((?:\.|\+|\~)[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
  this.cast('ADD_RULE', ['email', regEmail]);
  this.cast('ADD_RULE', ['email_address', regEmail]);

  // userid
  var regUserid = /^[a-z]+[\w-]*[a-z0-9_]+$/i;
  this.cast('ADD_RULE', ['userid', regUserid]);
  this.cast('ADD_RULE', ['user_id', regUserid]);

  // url
  var regUrl = /^(https?|ftp|mms):\/\/[0-9a-z-]+(\.[_0-9a-z-]+)+(:\d+)?/;
  this.cast('ADD_RULE', ['url', regUrl]);
  this.cast('ADD_RULE', ['homepage', regUrl]);

  // korean
  var regKor = new RegExp('^[\uAC00-\uD7A3]*$');
  this.cast('ADD_RULE', ['korean', regKor]);

  // korean_number
  var regKorNum = new RegExp('^[\uAC00-\uD7A30-9]*$');
  this.cast('ADD_RULE', ['korean_number', regKorNum]);

  // alpha
  var regAlpha = /^[a-z]*$/i;
  this.cast('ADD_RULE', ['alpha', regAlpha]);

  // alpha_number
  var regAlphaNum = /^[a-z][a-z0-9_]*$/i;
  this.cast('ADD_RULE', ['alpha_number', regAlphaNum]);

  // number
  var regNum = /^[0-9]*$/;
  this.cast('ADD_RULE', ['number', regNum]);
  // }}} add filters
 },
 // run validator
 run : function(oForm) {
  var filter = '';

  if (oForm._filter) filter = oForm._filter.value;

  var params = [oForm, filter];
  var result = this.cast('VALIDATE', params);
  if (typeof result == 'undefined') result = false;

  return result;
 },
 API_ONREADY : function() {
  var self = this;

  // hook form submit event
  $('form')
   .each(function(){
    if (this.onsubmit) {
     this['xe:onsubmit'] = this.onsubmit;
     this.onsubmit = null;
    }
   })
   .submit(function(e){
    var legacyFn = this['xe:onsubmit'];  
    var hasLegacyFn = $.isFunction(legacyFn);
    var bResult = hasLegacyFn?legacyFn.apply(this):self.run(this);

    if(!bResult)
    {
     e.stopImmediatePropagation();
    }
    return bResult;
   });
 },
 API_VALIDATE : function(sender, params) {
  var result = true, form = params[0], elems = form.elements, filter, filter_to_add, ruleset, callback;
  var fields, names, name, el, val, mod, len, lenb, max, min, maxb, minb, rules, e_el, e_val, i, c, r, if_, fn;
  if(elems['ruleset']) filter = form.elements['ruleset'].value;
  else if(elems['_filter']) filter = form.elements['_filter'].value;
  if(!filter) return true;

  if($.isFunction(callbacks[filter])) callback = callbacks[filter];
  filter = $.extend({}, filters[filter.toLowerCase()] || {}, extras);

  function regex_quote(str){
   return str.replace(/([\.\+\-\[\]\{\}\(\)\\])/g, '\\$1');
  };

  // get form names
  fields = [];
  for(i=0,c=form.elements.length; i < c; i++) {
   el   = elems[i];
   name = el.name;

   if(!name || !elems[name]) continue;
   if(!elems[name].length || elems[name][0] === el) fields.push(name);
  };
  fields = fields.join('\n');

  // get field names matching patterns
  filter_to_add = {};
  for(name in filter) {
   if(!filter.hasOwnProperty(name)) continue;

   names = [];
   if(name.substr(0,1) == '^') {
    names = fields.match( (new RegExp('^'+regex_quote(name.substr(1))+'.*$','gm')) );
   } else {
    continue;
   }
   if(!names) names = [];

   for(i=0,c=names.length; i < c; i++) {
    filter_to_add[names[i]]= filter[name];
   }

   filter[name] = null;
   delete filter[name];
  };

  filter = $.extend(filter, filter_to_add);

  for(name in filter) {
   if(!filter.hasOwnProperty(name)) continue;

   f   = filter[name];
   el  = elems[name];
   if(!el)
   {
    el = elems[name + '[]'];
   }
   val = el?$.trim(get_value($(el))):'';
   mod = (f.modifier||'')+',';


   if(!el || el.disabled) continue;

   if(f['if']) {
    if(!$.isArray(f['if'])) f['if'] = [f['if']];
    for(i=0;i<f['if'].length;i++) {
     if_ = f['if'][i];
     fn  = new Function('el', 'return !!(' + (if_.test.replace(/\$(\w+)/g, '(jQuery(\'[name=$1]\').is(\':radio, :checkbox\') ? jQuery(\'[name=$1]:checked\').val() : jQuery(\'[name=$1]\').val())')) +')');
     //fn  = new Function('el', 'return !!(' + (if_.test.replace(/\$(\w+)/g, 'el["$1"].value')) +')');
     if(fn(elems)) f[if_.attr] = if_.value;
     else delete f[if_.attr];

    }
   }

   if(!val) {
    if(f['default']) val = f['default'];
    if(f.required) return this.cast('ALERT', [form, name, 'isnull']) && false;
    else continue;
   }

   min  = parseInt(f.minlength) || 0;
   max  = parseInt(f.maxlength) || 0;
   minb = /b$/.test(f.minlength||'');
   maxb = /b$/.test(f.maxlength||'');
   len  = val.length;
   if(minb || maxb) lenb = get_bytes(val);
   if((min && min > (minb?lenb:len)) || (max && max < (maxb?lenb:len))) {
    return this.cast('ALERT', [form, name, 'outofrange', min, max]) && false;
   }
   
   if(f.equalto) {
    e_el  = elems[f.equalto];
    e_val = e_el?$.trim(get_value($(e_el))):'';
    if(e_el && e_val !== val) {
     return this.cast('ALERT', [form, name, 'equalto']) && false;
    }
   }
   
   rules = (f.rule || '').split(',');
   for(i=0,c=rules.length; i < c; i++) {
    if(!(r = rules[i])) continue;

    result = this.cast('APPLY_RULE', [r, val]);
    if(mod.indexOf('not,') > -1) result = !result;
    if(!result) {
     return this.cast('ALERT', [form, name, 'invalid_'+r]) && false;
    }
   }
  };

  if($.isFunction(callback)) return callback(form);

  return true;
 },
 API_ADD_RULE : function(sender, params) {
  var name = params[0].toLowerCase();
  rules[name] = params[1];
 },
 API_DEL_RULE : function(sender, params) {
  var name = params[0].toLowerCase();
  delete rules[name];
 },
 API_GET_RULE : function(sender, params) {
  var name = params[0].toLowerCase();

  if (rules[name]) {
   return rules[name];
  } else {
   return null;
  }
 },
 API_ADD_FILTER : function(sender, params) {
  var name   = params[0].toLowerCase();
  var filter = params[1];

  filters[name] = filter;
 },
 API_DEL_FILTER : function(sender, params) {
  var name = params[0].toLowerCase();
  delete filters[name];
 },
 API_GET_FILTER : function(sender, params) {
  var name = params[0].toLowerCase();

  if (filters[name]) {
   return filters[name];
  } else {
   return null;
  }
 },
 API_ADD_EXTRA_FIELD : function(sender, params) {
  var name = params[0].toLowerCase();
  var prop = params[1];

  extras[name] = prop;
 },
 API_GET_EXTRA_FIELD : function(sender, params) {
  var name = params[0].toLowerCase();
  return extras[name];
 },
 API_DEL_EXTRA_FIELD : function(sender, params) {
  var name = params[0].toLowerCase();
  delete extras[name];
 },
 API_APPLY_RULE : function(sender, params) {
  var name  = params[0];
  var value = params[1];

  if(typeof(rules[name]) == 'undefined') return true; // no filter
  if($.isFunction(rules[name])) return rules[name](value);
  if(rules[name] instanceof RegExp) return rules[name].test(value);
  if($.isArray(rules[name])) return ($.inArray(value, rules[name]) > -1);

  return true;
 },
 API_ALERT : function(sender, params) {
  var form = params[0];
  var field_name = params[1];
  var msg_code = params[2];
  var minlen   = params[3];
  var maxlen   = params[4];

  var field_msg = this.cast('GET_MESSAGE', [field_name]);
  var msg = this.cast('GET_MESSAGE', [msg_code]);

  if (msg != msg_code) msg = (msg.indexOf('%s')<0)?(field_msg+msg):(msg.replace('%s',field_msg));
  if (minlen||maxlen) msg +=  '('+(minlen||'')+'~'+(maxlen||'')+')';

  this.cast('SHOW_ALERT', [msg]);

  // set focus
  $(form.elements[field_name]).focus();
 },
 API_SHOW_ALERT : function(sender, params) {
  alert(params[0]);
 },
 API_ADD_MESSAGE : function(sender, params) {
  var msg_code = params[0];
  var msg_str  = params[1];

  messages[msg_code] = msg_str;
 },
 API_GET_MESSAGE : function(sender, params) {
  var msg_code = params[0];

  return messages[msg_code] || msg_code;
 },
 API_ADD_CALLBACK : function(sender, params) {
  var name = params[0];
  var func = params[1];

  callbacks[name] = func;
 },
 API_REMOVE_CALLBACK : function(sender, params) {
  var name = params[0];

  delete callbacks[name];
 }
});

var oValidator = new Validator;

// register validator
xe.registerApp(oValidator);

// 호환성을 위해 추가한 플러그인 - 에디터에서 컨텐트를 가져와서 설정한다.
var EditorStub = xe.createPlugin('editor_stub', {
 API_BEFORE_VALIDATE : function(sender, params) {
  var form = params[0];
  var seq  = form.getAttribute('editor_sequence');

  // bug fix for IE6,7
  if (seq && typeof seq == 'object') seq = seq.value;

  if (seq) {
   try {
    editorRelKeys[seq].content.value = editorRelKeys[seq].func(seq) || '';
   } catch(e) { }
  }
 }
});
oValidator.registerPlugin(new EditorStub);

// functions
function get_value($elem) {
 var vals = [];
 if ($elem.is(':radio')){
  return $elem.filter(':checked').val();
 } else if ($elem.is(':checkbox')) {
  $elem.filter(':checked').each(function(){
   vals.push(this.value);
  });
  return vals.join('|@|');
 } else {
  return $elem.val();
 }
}

function get_bytes(str) {
 str += '';
 if(!str.length) return 0;

 str = encodeURI(str);
 var c = str.split('%').length - 1;

 return str.length - c*2;
}

})(jQuery);

/**
 * @function filterAlertMessage
 * @brief ajax로 서버에 요청후 결과를 처리할 callback_function을 지정하지 않았을 시 호출되는 기본 함수
 **/
function filterAlertMessage(ret_obj) {
 var error = ret_obj["error"];
 var message = ret_obj["message"];
 var act = ret_obj["act"];
 var redirect_url = ret_obj["redirect_url"];
 var url = location.href;

 if(typeof(message)!="undefined"&&message&&message!="success") alert(message);

 if(typeof(act)!="undefined" && act) url = current_url.setQuery("act", act);
 else if(typeof(redirect_url)!="undefined" && redirect_url) url = redirect_url;

 if(url == location.href) url = url.replace(/#(.*)$/,'');

 location.href = url;
}

/**
 * @brief Function to process filters
 * @deprecated
 */
function procFilter(form, filter_func) {
 filter_func(form);
 return false;
}

function legacy_filter(filter_name, form, module, act, callback, responses, confirm_msg, rename_params) {
 var v = xe.getApp('Validator')[0], $ = jQuery, args = [];

 if (!v) return false;

 if (!form.elements['_filter']) $(form).prepend('<input type="hidden" name="_filter" />');
 form.elements['_filter'].value = filter_name;

 args[0] = filter_name;
 args[1] = function(f) {
  var params = {}, res = [], elms = f.elements, data = $(f).serializeArray();
  $.each(data, function(i, field) {
   var v = $.trim(field.value), n = field.name;
   if(!v || !n) return true;
   if(rename_params[n]) n = rename_params[n];
   
   if(/\[\]$/.test(n)) n = n.replace(/\[\]$/, '');
   if(params[n]) params[n] += '|@|'+v;
   else params[n] = field.value;   
  });

  if (confirm_msg && !confirm(confirm_msg)) return false;
  exec_xml(module, act, params, callback, responses, params, form);
 };

 v.cast('ADD_CALLBACK', args);
 v.cast('VALIDATE', [form, filter_name]);

 return false;
}

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
madcow hostinger에 xe 설치 할 때 DB 정보 입력문제 [2] file 2013.06.10 by 퍼니엑스이
김준용119 엮인글에 의한 트래픽 증가 [1] 2013.06.10 by 구름나무바위
bundo 스팸 회원가입 방지 문제 [1] 2013.06.10 by 구름나무바위
구름나무바위 메뉴에서 로그인, 회원가입, 비밀번호 찾기 같은 act 페이지는 어떻게 연결 시키나요? [1] file 2013.06.10 by 송동우
늑대소리 요약책갈피 애드온 나오게 할 수 있을까요 file  
아싸리방가 댓글 작성시 자동글방지태그가 안보이는 현상.  
korea3d xe 1.7.3.4 기본 게시판 비밀글 관리자가 수정하면, 열 수 없나요? [1] 2013.06.10 by korea3d
아기나옹이 쪽지함 레이아웃 적용이 되지 않습니다 [2] 2013.06.10 by 아기나옹이
▷◁ miyamm 관리자 로그인가능횟수 초과문제 [1] file 2013.06.10 by 송동우
이정희729 로그인 문제 [1] 2013.06.10 by 송동우
이정희729 로그인이 안됩니다. [2] file 2013.06.10 by 윈컴이
bundo 게시판 임시저장 기능 에러 [1] 2013.06.10 by 송동우
꿀꺽2 XE를 이용한 웹제작 업체를 모집합니다.  
sipjaga99 회원등급 에러  
송문열1 회원가입창 밑이 짤리는데요. file  
부산민지아빠 페이지 내용에 공통으로 명령어를 입력하고 싶은데요..  
BonaSera 캐시파일 재생성을 오랫동안 안할수록 재생성 시간이 길어지나요? [1] 2013.06.10 by Gunmania
메호르 게시판 설정에서 하단 내용입력시 html이 안 먹히고 &가 계속 붙습니다 [1] 2013.06.10 by 송동우
하대수327 xe core 1.5.3.7 초기 관리자 비밀번호? [1] 2013.06.10 by 송동우
시로링 코어를 1.5->1.7로 업데이트 하려고 하는데요 [1] 2013.06.10 by korea3d
Kimㅇ.ㅅ 메뉴에 새 글 숫자를 표시하려면 어떻게 해야하나요? [1] 2013.06.10 by 날마다좋은날
정보안 게시판 검색 질문드립니다.  
아기나옹이 위젯스타일 코드를 생성 하려는데 코드 보는법좀 알려 주세요 [1] file 2013.06.10 by 큰성565
rosery 회원정보를 비공개로 체크해도 전체공개가 됩니다  
짝사랑 default 스킨입니다. 이런거 어떻게 하나요? [1] 2013.06.10 by 송동우
sdkfj24 도와주세요???????????...... 제발. [1] 2014.07.16 by chansol
khsskyblue 외부페이지에서 게시판 적용법 좀 부탁드립니다.  
Crejer 최근 게시물에서 첨부 이미지 여러개 불러오기?! [1] 2013.06.09 by 송동우
EnuX 글쓰기 할때 input 만들어서 입력 받아 db에 넣는 방법 [6] 2013.06.09 by EnuX
덱셀 모르고 게시판을 지웠는데 방법이 있을까요? [1] 2013.06.09 by 송동우