Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <title>Testing ASQ Cookie Test</title>
- </head>
- <body>
- isLoggedIn is: <input name="isLoggedIn" id="isLoggedIn" value="" /><br />
- loginState is: <input name="loginState" id="loginState" value="" /><br />
- usrName is: <input name="usrName" id="usrName" value="" /><br />
- mbType is: <input name="mbType" id="mbType" value="" /><br />
- mbNb is: <input name="mbNb" id="mbNb" value="" /><br />
- <script type="text/javascript">
- // ASQ authentication detection script for ASQTV
- // BCM 07 NOV 2014
- //
- // This should be all you need to detect and
- // parse the authentication cookies for ASQ.org
- // "isLoggedIn" will tell you logged-in status.
- // "mbType" will tell you is they are a NON-MEMBER
- // or MEMBER (and other various member types).
- // Also, just the presence of "nebsuc" cookie tells
- // you that the user is a Logged in Member. That may
- // be all you really need, unless you need to parse
- // for other information.
- var usrGlbl;
- var bsf = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
- var cd1 = '01234567890123456';
- var mbType; // this will be member-type
- var usrName; // this will be user's name
- var mbNb; // this will be user's member number
- var isLeader;
- var hq = location.href.indexOf("hq.") > -1 ? 'hq.' : '';
- var mb;
- var Comment = '';
- var isLoggedIn = 0;
- var CO;
- getUsrGlbl();
- function rot07(input) {
- if (!input) return '';
- for (var output = '', i = 0; i < input.length; i++) {
- character = input.charAt(i);
- position = cd1.indexOf(character);
- if (position > -1)
- character = cd1.charAt(position + 5);
- output += character;
- }
- return output;
- }
- function decode(encStr) {
- var bits, decOut = '',
- i = 0;
- for (; i < encStr.length; i += 4) {
- bits =
- (bsf.indexOf(encStr.charAt(i)) & 0xff) << 18 |
- (bsf.indexOf(encStr.charAt(i + 1)) & 0xff) << 12 |
- (bsf.indexOf(encStr.charAt(i + 2)) & 0xff) << 6 |
- bsf.indexOf(encStr.charAt(i + 3)) & 0xff;
- decOut += String.fromCharCode(
- (bits & 0xff0000) >> 16, (bits & 0xff00) >> 8, bits & 0xff);
- }
- if (encStr.charCodeAt(i - 2) == 61)
- undecOut = decOut.substring(0, decOut.length - 2);
- else if (encStr.charCodeAt(i - 1) == 61)
- undecOut = decOut.substring(0, decOut.length - 1);
- else undecOut = decOut;
- return unescape(undecOut); //line add for chinese char
- }
- function getUsrGlbl() {
- var allCookies = document.cookie.toString();
- if (allCookies.indexOf("10.1.7.144") > -1) {
- //alert (allCookies);
- }
- if (document.cookie.toString().indexOf("caf") > -1) { /* this part does the caf addition 3 OCT 2014 */
- var startAt = allCookies.indexOf("caf") + 4;
- var remainingPart = allCookies.substring(startAt);
- cafId = remainingPart.substring(0, remainingPart.indexOf(";"));
- console.log(cafId);
- }
- if (document.cookie.toString().indexOf("nebsuc") > -1) {
- var startAt = allCookies.indexOf("nebsuc") + 7;
- var remainingPart = allCookies.substring(startAt);
- usrGlbl = remainingPart.indexOf(";") > -1 ? remainingPart.substring(0, remainingPart.indexOf(";")) : remainingPart;
- usrGlbl = decode(usrGlbl);
- if (document.cookie.toString().indexOf("qazqsa29") > -1) {
- startAt = allCookies.indexOf("qazqsa29") + 9;
- remainingPart = allCookies.substring(startAt);
- var mbNb = remainingPart.indexOf(";") > -1 ? remainingPart.substring(0, remainingPart.indexOf(";")) : remainingPart;
- this.mbNb = rot07(mbNb);
- }
- if (usrGlbl != null) {
- var posa = usrGlbl.indexOf("~");
- var usrNm = usrGlbl.substring(0, usrGlbl.indexOf("~"));
- //alert(usrNm);
- var pos1 = usrGlbl.indexOf("~", usrGlbl.indexOf("~") + 1) + 1;
- var pos2 = usrGlbl.indexOf("~", pos1);
- this.usrGlbl = usrGlbl;
- this.usrNm = usrNm;
- this.mbType = this.usrGlbl.substring(pos1, pos2);
- pos1 = usrGlbl.indexOf("~CO:");
- if (pos1 > -1) {
- CO = usrGlbl.substring(pos1 + 4);
- if (CO.indexOf("~") > -1) {
- CO = CO.substring(0, CO.indexOf("~"));
- // alert(CO);
- }
- }
- //alert(CO);
- // to support Ray's Flash NON-MEMBER introduction
- var aYrFromNow = new Date(new Date().getTime() + (1000 * 3600 * 24 * 365));
- //alert(aYrFromNow.toGMTString());
- document.cookie = "mbtype=" + this.mbType + ";path=/;domain=asq.org;expires=" + aYrFromNow;
- //alert("<!-- JR temp...\n" + usrGlbl + "-->");
- //document.write(this.usrNm) ;
- this.isLeader = (usrGlbl.indexOf("LEADER") > -1 ? 1 : 0);
- //alert("isLeader: " + this.isLeader);
- }
- return usrGlbl;
- }
- }
- if (usrGlbl != null) {
- loginState = "Logged In";
- if (CO != null) {
- dlCo = CO;
- } else {
- dlCo = "NULL";
- };
- if (mbType != null) {
- dlType = mbType;
- } else {
- dlType = "NULL";
- };
- } else {
- var loginState = "Logged Out";
- var dlType = "NULL";
- var dlCo = "NULL";
- };
- document.getElementById('isLoggedIn').value = isLoggedIn;
- document.getElementById('loginState').value = loginState;
- document.getElementById('usrName').value = usrName;
- document.getElementById('mbType').value = mbType;
- document.getElementById('mbNb').value = mbNb;
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement