In diesem Artikel wird hauptsächlich die Implementierung des WeChat-Applet-Simulationscookies vorgestellt. Der Inhalt ist ziemlich gut. Jetzt teile ich ihn mit Ihnen und gebe ihn als Referenz.
Entwicklungshintergrund
Das bestehende System verfügt bereits über einen vollständigen Satz an Schnittstellen, und Benutzerstatus und Überprüfung basieren alle auf Cookies .
Einige Unternehmen benötigen eine Mini-Programmversion. Wie wir alle wissen, unterstützen WeChat-Miniprogramme keine Cookies. Um das Geschäft online zu starten, ist es am besten, dies auf der Grundlage der vorhandenen Schnittstellen zu tun. Es wird sich nicht viel ändern und ist auch am schnellsten.
Cookie simulieren
Anfrage über das Entwicklungstool des Browsers anzeigen, Netzwerkleiste, das Cookie im Browser wird übernommen Jeder In den Anforderungsheadern von http wird Cookie als Schlüsselname verwendet.
Dann setzen wir in WeChats offizieller Anfragemethode wx.request den Header und fügen ein Cookie hinzu, das simuliert werden kann.
Es stellt sich wieder die Frage, wie man das Cookie vom Server zurückbekommt.
Zeigen Sie den HTTP-Return-Header über die Anmeldeschnittstelle an (beim Anmelden implantiert der Server ein Cookie als Sitzung).
wx.request({ url: '/api/login', success: (data) => { if(data.statusCode === 200) { console.log(data); // data 中应该会有 Set-Cookie 或 set-cookie 的字样,嗯,那就是服务器种下的 cookie } } })
Holen Sie sich das Cookie, speichern Sie es lokal und fügen Sie es direkt ein, wenn Sie das nächste Mal Daten anfordern, perfekt.
Cookies formatieren
Ich dachte ursprünglich, dass Cookies nur eingegeben und beendet werden müssen, um perfekt simuliert zu werden, aber im tatsächlichen Betrieb Ich habe festgestellt, dass das an den Server gesendete Cookie nicht erkannt werden kann.
Das vom Server zurückgegebene Cookie enthält viele Felder zur Speicherung, wie z. B. path=/;
// 服务器放回的 cookie let cookie = 'userKey=1234567890; Path=/; Expires=Thu, 21 Jun 2018 13:15:08 GMT; HttpOnly,userId=111; Path=/; Expires=Thu, 21 Jun 2018 13:15:08 GMT,nickName=; Path=/; Expires=Thu, 21 Jun 2018 13:15:08 GMT,userName=111111; Path=/; Expires=Thu, 21 Jun 2018 13:15:08 GMT,imgUrl=; Path=/; Expires=Thu, 21 Jun 2018 13:15:08 GMT'; // 模拟的是需要的格式样式 let virtualCookie = 'userKey=1234567890; userName=111111; userId=111;';
Oh mein Gott~was tun Sie möchten? Filtern Sie es.
Eine einfache und grobe Filterlösung geschrieben.
// cookie 的本地存储位置 const COOKIE_KEY = '__cookie_key__'; /** * 格式化用户需要的 cookie */ const normalizeUserCookie = (cookies = '') => { let __cookies = []; (cookies.match(/([\w\-.]*)=([^\s=]+);/g) || []).forEach((str) => { if (str !== 'Path=/;' && str.indexOf('csrfToken=') !== 0) { __cookies.push(str); } }); wx.setStorageSync(COOKIE_KEY, __cookies.join(' ')); };
csrfToken
wird neben Egg.js
verwendet. In einigen Anwendungen wird Path=/;
als path=/;
Filtert hauptsächlich Daten wie normalizeUserCookie
und schließt dann bedeutungslose Daten wie xx=xxx
aus. path=/;
Funktioniert mit Egg.js
Plug-in von Egg unterstützt alle „nicht sicheren“ Methoden Standardmäßig führen POST, PUT und DELETE alle eine CSRF-Überprüfung durch. egg-security
Egg.js Obwohl CSRF in der Konfiguration deaktiviert werden kann, was ist, wenn es verwendet werden muss?
wie es dazu kam. csrfToken
Vorgang, legen Sie zunächst das csrfToken beiseite und verwalten Sie den Benutzerstatus allein. 格式化用户需要的 cookie
Kapselt einen Ajax
; wepy.request
rrree
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Lernen aller hilfreich sein. Bitte achten Sie auf PHP Chinesische Website! Verwandte Empfehlungen:WeChat-Miniprogramm
Einführung in die Page()-Funktion
Verwendung von wx:for und wx:for-item im WeChat-Applet
Das obige ist der detaillierte Inhalt vonImplementierung des WeChat-Applet-Simulationscookies. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Dreamweaver Mac
Visuelle Webentwicklungstools