찾다
CMS 튜토리얼DedecmsDreamWeaver의 SMS 인증코드 기능을 구현하는 방법

DreamWeaver의 SMS 인증코드 기능을 구현하는 방법

DreamWeaver의 SMS 인증 코드 기능을 구현하는 방법은 무엇입니까?

대부분의 웹사이트에는 이제 SMS 확인 코드가 필요합니다. DreamWeaver에는 공식적으로 SMS 확인 코드 플러그인이 없기 때문에 하나는 Alibaba Cloud의 SMS 확인 코드 인터페이스를 사용하고 다른 하나는 Alibaba의 SMS를 사용합니다. 인증 코드 인터페이스 중 하나는 Alibaba Communication SMS 인증 코드 인터페이스를 사용하고, 다른 하나는 Yunzhixun의 SMS 인터페이스를 사용합니다.

추천 학습: Dreamweaver cms

다음 튜토리얼에는 2개의 Dreamweaver SMS 확인 코드 인터페이스가 포함되어 있습니다.

드림위버 회원의 SMS 등록 시 수정해야 할 사항:

1. 다중 전송을 방지하기 위해 인증 코드를 기록하는 테이블을 생성해야 합니다. 여기서 전화코드 테이블이 생성됩니다.

2. member/templets/reg-new.htm (등록 템플릿에 요소 추가)

3. member/templets/js/reg_new.js (휴대폰 번호 확인)

4. member/index_do.php (에 따름)

5. member/reg_new.php (확인, 기록)

a 액세스하려면 Alibaba Cloud SMS 인터페이스를 사용하세요.

Alibaba Cloud를 삽입해야 합니다. member/index_do.php 인터페이스 코드의 해당 위치에 있는 SMS입니다. 특히 Alibaba Cloud SMS의 공식 데모 문서는 마스터가 작성했기 때문에 일반 사람들이 이를 사용할 때 네임스페이스 오류를 보고할 것이라는 점에 유의해야 합니다. 또한 이제 SMS 템플릿을 업데이트해야 합니다. Alibaba SMS 템플릿 검토는 매우 엄격하며 이전에는 이 문제가 허용되지 않았습니다. 따라서 감사에 실패하면 변수를 줄여야 합니다. (현재는 더 이상 Alibaba Cloud SMS 인터페이스를 활성화할 수 없습니다. 새로 오픈된 Alibaba Cloud SMS 인터페이스는 이 코드를 사용할 수 없습니다. 오랫동안 Alibaba Cloud SMS를 개설한 사용자에게만 적합합니다.)

function getrandchar($length){
    $str = null;
    $strPol = "0123456789abcdefghijklmnopqrstuvwxyz";
    $max = strlen($strPol)-1;
        for($i=0;$i<$length;$i++){
        $str.=$strPol[rand(0,$max)];
        }
        return $str;
    }
    $code = getrandchar(5);
  
    require_once(DEDEINC.&#39;/aliyun-php-sdk-core/Config.php&#39;);
    use Sms\Request\V20160927 as Sms;
    $iClientProfile = DefaultProfile::getProfile("cn-shenzhen", "your accessKey", "your accessSecret"); //登录阿里云查看: "your accessKey", "your accessSecret"
    $client = new DefaultAcsClient($iClientProfile);   
    $request = new Sms\SingleSendSmsRequest();
    $request->setSignName("签名");/*签名名称*/
    $request->setTemplateCode("SMS_1111");/*模板code*/
    $request->setRecNum($phone);/*目标手机号*/
    $request->setParamString("{\"code\":\"$code\",\"tel\":\"电话号码\"}");/*模板变量,请确保跟审核过的短信模版变量一致,数字一定要转换为字符串*/
    try {
        $response = $client->getAcsResponse($request);
        print_r($response);
    }
    catch (ClientException  $e) {
        print_r($e->getErrorCode());  
        print_r($e->getErrorMessage());  
    }
    catch (ServerException  $e) {  
        print_r($e->getErrorCode());  
        print_r($e->getErrorMessage());
    }
      
    $inquery = " INSERT INTO `dede_phonecode` (`ip`,`phone`,`phonecode`,`used`,`sendtime`) VALUES ( &#39;$ip&#39;,&#39;$to&#39;,&#39;$code&#39;,&#39;1&#39;,&#39;$nowtime&#39;); ";
    $rs = $dsql->ExecuteNoneQuery2($inquery);
    if( $rs = 1 ){
        ShowMsg(&#39;发送成功,请注意查收!&#39;,&#39;-1&#39;);
        exit();
    }
    exit();

첨부된 내용은 다음과 같습니다. Alibaba Cloud SMS 템플릿: 확인 코드: ${code}. 귀하가 등록을 하지 않은 경우 이 메시지를 무시하십시오. 궁금한 점이 있으면 문의하세요! 전화: ${tel}

b. Alibaba Dayu의 SMS 인터페이스를 사용하여 액세스하세요.

마찬가지로 member/index_do.php의 해당 위치에 다음 코드를 삽입해야 합니다.

function getrandchar($length){
$str = null;
//$strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
$strPol = "0123456789abcdefghijklmnopqrstuvwxyz";
$max = strlen($strPol)-1;
for($i=0;$i<$length;$i++){
$str.=$strPol[rand(0,$max)];
}
return $str;
}
$code = getrandchar(5);
  
require_once(DEDEINC.&#39;/alidayu-php-sdk/TopSdk.php&#39;);
$client = new TopClient;
$client ->appkey = &#39;111111&#39; ; //登录阿里大于查看appkey。
$client ->secretKey = &#39;aaaaaaaaaaaaaa&#39; ; //登录阿里大于查看secret。
$req = new AlibabaAliqinFcSmsNumSendRequest;
$req ->setExtend( "" );
$req ->setSmsType( "normal" );
$req ->setSmsFreeSignName( "城子居" ); /*签名名称*/
$req ->setSmsParam( "{\"code\":\"$code\",\"name\":\"注册\"}" ); /*模板变量,请确保跟审核过的短信模版变量一致,数字一定要转换为字符串*/
$req ->setRecNum($phone);/*目标手机号*/
$req ->setSmsTemplateCode( "SMS_1111111" );//登录阿里大于查看/*模板ID编号*/
$resp = $client ->execute( $req );
  
$inquery = " INSERT INTO `imm_phonecode` (`ip`,`phone`,`phonecode`,`used`,`sendtime`)  VALUES ( &#39;$ip&#39;,&#39;$to&#39;,&#39;$code&#39;,&#39;1&#39;,&#39;$nowtime&#39;); ";
$rs = $dsql->ExecuteNoneQuery2($inquery);
if( $rs = 1 ){
ShowMsg(&#39;发送成功,请注意查收!&#39;,&#39;-1&#39;);
exit();
}
exit();

c. 최신 Alibaba Communication SMS 인터페이스를 사용하여 액세스하세요.

function getrandchar($length){
$str = null;
//$strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
$strPol = "0123456789";
$max = strlen($strPol)-1;
for($i=0;$i<$length;$i++){
$str.=$strPol[rand(0,$max)];
}
return $str;
}
$number = getrandchar(4);
  
require_once(DEDEINC.&#39;/aliyun-php-sdk-core/Config.php&#39;);
require_once(DEDEINC.&#39;/Dysmsapi/Request/V20170525/SendSmsRequest.php&#39;);
require_once(DEDEINC.&#39;/Dysmsapi/Request/V20170525/QuerySendDetailsRequest.php&#39;);
  
function sendSms() {
global $phone, $number;
  
//此处需要替换成自己的AK信息
$accessKeyId = "yourAccessKeyId";
$accessKeySecret = "yourAccessKeySecret";
//短信API产品名
$product = "Dysmsapi";
//短信API产品域名
$domain = "dysmsapi.aliyuncs.com";
//暂时不支持多Region
$region = "cn-beijing";
  
//初始化访问的acsCleint
$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
DefaultProfile::addEndpoint("cn-beijing", "cn-beijing", $product, $domain);
$acsClient= new DefaultAcsClient($profile);
  
$request = new Dysmsapi\Request\V20170525\SendSmsRequest;
//必填-短信接收号码
$request->setPhoneNumbers($phone);
//必填-短信签名
$request->setSignName("99商铺网");
//必填-短信模板Code
$request->setTemplateCode("SMS_74725029");
//选填-假如模板中存在变量需要替换则为必填(JSON格式)
$request->setTemplateParam("{\"number\":\"$number\"}");
//选填-发送短信流水号
$request->setOutId("1234");
  
//发起访问请求
$acsResponse = $acsClient->getAcsResponse($request);
}
  
sendSms();
  
$inquery = " INSERT INTO `imm_phonecode` (`ip`,`phone`,`phonecode`,`used`,`sendtime`)  VALUES ( &#39;$ip&#39;,&#39;$phone&#39;,&#39;$number&#39;,&#39;1&#39;,&#39;$nowtime&#39;); ";
$rs = $dsql->ExecuteNoneQuery2($inquery);
if( $rs = 1 ){
echo "发送成功,请注意查收!";
exit();
}
exit();

여기에 Alibaba의 세 가지 SMS 인터페이스가 모두 있습니다. 해당 SDK는 공식 Alibaba Cloud에서 다운로드해야 합니다.

d. Yunzhixun SMS 인터페이스를 사용하여 액세스:

마찬가지로 member/index_do.php의 해당 위치에 Yunzhixun SMS 인터페이스 코드를 삽입해야 합니다.

function getrandchar($length){
$str = null;
$strPol = "0123456789abcdefghijklmnopqrstuvwxyz";
$max = strlen($strPol)-1;
for($i=0;$i<$length;$i++){
$str.=$strPol[rand(0,$max)];
}
return $str;
}
require_once(DEDEINC.&#39;/ucpaas.class.php&#39;);
$options[&#39;accountsid&#39;]=&#39;&#39;;  //对应ucpaas.com用户ID
$options[&#39;token&#39;]=&#39;&#39;;  //对应ucpaas.com里面的用户token
$ucpass = new Ucpaas($options);
$appId = ""; //对应ucpaas.com里面的项目ID
$to = $phone;
$templateId = ""; //对应ucpaas.com里面的短信模版ID
$code = getrandchar(5);
$param= $code.&#39;,短信模版参数2&#39;.&#39;,短信模版参数3&#39;; // $code为生成的验证码,短信模版参数2,短信模版参数3,参数之间用英文逗号间隔。
$ucpass->templateSMS($appId,$to,$templateId,$param);
  
$inquery = " INSERT INTO `dede_phonecode` (`ip`,`phone`,`phonecode`,`used`,`sendtime`) VALUES ( &#39;$ip&#39;,&#39;$to&#39;,&#39;$code&#39;,&#39;1&#39;,&#39;$nowtime&#39;); ";
$rs = $dsql->ExecuteNoneQuery2($inquery);
if( $rs = 1 ){
ShowMsg(&#39;发送成功,请注意查收!&#39;,&#39;-1&#39;);
exit();
}
exit();

마찬가지로 SMS 템플릿을 첨부하세요: 인증 코드: {1}. 귀하는 {2}에 있습니다. 이에 대한 책임이 없다면 이 메시지를 무시하십시오. 궁금한 점이 있으면 전화: {3}

로 문의하세요.

위 내용은 DreamWeaver의 SMS 인증코드 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는