PHPWind 9.0 수 동 인증 코드 차단 백 엔 드 에서 인증 코드 를 닫 았 지만 여전히 표시 되 는 문제 해결
POST 로그 인 을 하려 면 인증 코드 가 필요 없 이 이 문 제 를 처리 해 야 하지만 정부 에서 해결 방안 을 제공 하지 않 고 스스로 처리 할 수 밖 에 없다.
우선 phpwind 는 많은 간단 한 php 프로그램 처럼 간단 한 이 페이지 코드 를 대응 하 는 파일 에 넣 지 않 고 매번 방문 할 때마다 wekit.php 를 호출 한 다음 에 wekit 에서 플러그 인,응용,서 비 스 를 호출 한 다 는 것 을 알 아야 한다.분석 이 끝 난 후에 우 리 는 문 제 를 해결 할 수 있다.
Login,로그 인 부분,경로.\src\applications\u\controller 에서 파일 이름 을 알 아 보기 어렵 지 않 습 니 다.LoginController.php 는 로그 인 에 사용 되 는 부분 입 니 다.(이 부분 은 사실 영어 이름 을 보면 알 수 있 습 니 다)
이때 우 리 는 코드 를 붙 였 다.
public function run() {
$this->setOutput($this->_showVerify(), 'verify');//
$this->setOutput(' ', 'title'); //
$this->setOutput($this->_filterUrl(false), 'url');
$this->setOutput(PwUserHelper::getLoginMessage(), 'loginWay');
$this->setOutput($this->getInput('invite'), 'invite');
$this->setTemplate('login');
Wind::import('SRV:seo.bo.PwSeoBo');
$seoBo = PwSeoBo::getInstance();
$lang = Wind::getComponent('i18n');
$seoBo->setCustomSeo($lang->getMessage('SEO:u.login.run.title'), '', '');
Wekit::setV('seo', $seoBo);
}
우선 인증 코드 표시 부분 을 차단 해 야 한 다 는 것 은 분명 하 다.장차
$this->setOutput($this->_showVerify(), 'verify');//
고치다
//$this->setOutput($this->_showVerify(), 'verify');//
이로써 우 리 는 인증 코드 표시 의 숨겨 진 부분 을 완 성 했 습 니 다.그러나 이 단계 에 로그 인하 면 인증 코드 의 오 류 를 알 수 있 습 니 다.그래서 우 리 는 인증 코드 가 없 는 것 처럼 수정 해 야 합 니 다.그렇습니다!우 리 는 어떻게 든 인증 코드 를 되 돌려 성공 해 야 한다.인증 코드 는 서비스 부분(자세 한 내용 은 공식 문서 참조)에 속 합 니 다.파일 은.\src\서비스\verify\srv 에서 도 파일 이름 에 따라 Pw Verify Service.php 가 인증 코드 서 비 스 를 제공 하 는 주요 파일 입 니 다.
이때 나 는 또 코드 를 붙 였 다.
public function checkVerify($verifyType, $code = '') {
return true;
if ($code == '') return false;// ,
$types = $this->getVerifyType();
if (!array_key_exists($verifyType, $types)) return false;
$verify = $types[$verifyType];
if (!isset($verify['components']['path'])) return false;
$obj = Wekit::load($verify['components']['path']);
if ($obj->checkVerify($code) === true ) return true;
return false;
}
여기 서 나 는 간단 하고 거 친 것 을 주 었 다.구체 적 인 다른 방법 은 더 이상 말 하지 않 고 자신 을 깊이 연구 하고 싶 으 면 된다.
public function checkVerify($verifyType, $code = '') {
return true; // true,
// if ($code == '') return false;
$types = $this->getVerifyType();
if (!array_key_exists($verifyType, $types)) return false;
$verify = $types[$verifyType];
if (!isset($verify['components']['path'])) return false;
$obj = Wekit::load($verify['components']['path']);
if ($obj->checkVerify($code) === true ) return true;
return false;
}
이로써 문 제 는 해결 되 었 다.위 에서 말 한 것 은 소 편 이 소개 한 PHPWind 9.0 수 동 차단 인증 코드 로 백 엔 드 에서 인증 코드 를 닫 았 지만 여전히 표시 되 는 문 제 를 해결 하 는 데 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 이 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
HttpGuardHttpGuard 는 openresty 를 기반 으로 lua 스 크 립 트 언어 로 개 발 된 cc 공격 방지 소프트웨어 입 니 다.한편, openresty 는 고성능 웹 서버 Nginx 와 일련의 Nginx 모듈 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.