WeChat 공개 플랫폼에서 config:invalid 서명이 계속해서 나타나는 오류 해결 방법
잘못된 서명 서명 오류인 경우. 다음 순서로 확인하는 것을 권장합니다.
1. 서명 알고리즘이 올바른지 확인하고 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=를 사용하면 됩니다. 확인을 위한 jsapisign 페이지 도구입니다.
2. 구성의 nonceStr(js의 표준 낙타 대문자 S) 및 타임스탬프가 서명에 사용된 해당 noncestr 및 타임스탬프와 일치하는지 확인하세요.
3. URL이 'http(s):/를 포함하여 페이지의 전체 URL인지 확인하세요. 현재 페이지에서 확인하세요. /' 부분, 그리고 ' ? ’ 단, ‘#’해시 이후 부분은 포함하지 않습니다.
4. 구성의 appid가 jsapi_ticket을 얻는 데 사용된 appid와 일치하는지 확인하세요.
5.access_token과 jsapi_ticket을 캐시했는지 확인하세요.
핵심 사항은 다음과 같습니다.
서명을 위해 얻은 URL이 동적으로 얻어졌는지 확인하세요. 동적 페이지의 경우 예제 코드의 PHP 구현을 참조하세요. HTML 정적 페이지인 경우 프런트 엔드에서 ajax를 통해 서명을 위해 URL이 백엔드로 전달되며, 프런트 엔드는 '#'을 제외하고 현재 페이지의 링크를 가져오기 위해 js를 사용해야 합니다. 해시 부분(사용 가능한 location.href.split('#') [0] 획득 및 encodeURIComponent 필요). 페이지가 공유되면 WeChat 클라이언트는 페이지 끝에 기타 매개변수를 추가하기 때문입니다. 링크. 현재 링크를 동적으로 얻지 못하면 공유 페이지의 서명이 실패합니다.
올바른지 확인하는 방법을 가르쳐주세요.
URL을 동적으로 가져오는 방법은 다음과 같습니다.
$protocol = (!empty($_SERVER[HTTPS]) && $_SERVER[HTTPS] !== off || $_SERVER[SERVER_PORT] == 443) ? "https://" : "http://"; $url = $protocol.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];
단계:
우선, 경고(location.href. Split('#' )[0]);
그런 다음 동적으로 얻은 URL이 경고 주소와 동일한지 여부를 인쇄합니다. 대문자 사용을 포함하여 정확히 동일해야 합니다.
다르다고 생각되면 필요에 따라 변경하세요. 어쨌든 마찬가지다. 서명 확인을 통과해야 합니다.
[관련 추천]
위 내용은 오류 구성에 대한 해결 방법:잘못된 서명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!