121 lines
3.9 KiB (Stored with Git LFS)
JavaScript
121 lines
3.9 KiB (Stored with Git LFS)
JavaScript
/*-----Access Check-----*/
|
|
|
|
const ua = window.navigator.userAgent;
|
|
/*browser*/
|
|
if (ua.indexOf('Edge') != -1 || ua.indexOf('Edg') != -1) {
|
|
user_agent_browser = 'Microsoft_Edge';
|
|
} else if (ua.indexOf('Trident') != -1 || ua.indexOf('MSIE') != -1) {
|
|
user_agent_browser = 'Microsoft_Internet_Explorer';
|
|
} else if (ua.indexOf('OPR') != -1 || ua.indexOf('Opera') != -1) {
|
|
user_agent_browser = 'Opera';
|
|
} else if (ua.indexOf('Chrome') != -1) {
|
|
user_agent_browser = 'Google_Chrome';
|
|
} else if (ua.indexOf('Firefox') != -1) {
|
|
user_agent_browser = 'FireFox';
|
|
} else if (ua.indexOf('Safari') != -1) {
|
|
user_agent_browser = 'Safari';
|
|
} else if (ua.indexOf('NintendoBrowser') != -1) {
|
|
user_agent_browser = 'NintendoBrowser';
|
|
} else {
|
|
user_agent_browser = 'Other';
|
|
}
|
|
|
|
/*OS*/
|
|
const ua2 = ua.toLowerCase();
|
|
if (ua2.indexOf("windows nt") !== -1) {
|
|
user_agent_os = "Microsoft_Windows_NT";
|
|
} else if (ua.indexOf("Android") !== -1) {
|
|
user_agent_os = "Android";
|
|
} else if (ua.indexOf("iPhone") !== -1) {
|
|
ua.match(/iPhone OS (\w+){1,4}/g);
|
|
var iosv = (RegExp.$1.replace(/_/g, '.')).slice(0, 4);
|
|
if (iosv >= 6.0) {
|
|
user_agent_os = "iOS_6_Over";
|
|
} else {
|
|
user_agent_os = "iOS_6_Under";
|
|
}
|
|
} else if (ua.match(/Linux/)) {
|
|
user_agent_os = "Linux";
|
|
} else if (ua.indexOf("ipad") !== -1 || ua.indexOf("Mac OS X") !== -1 && typeof document.ontouchstart !== 'undefined') {
|
|
user_agent_os = "iPad";
|
|
} else if (ua.indexOf("Mac OS X") !== -1) {
|
|
user_agent_os = "mac_OS";
|
|
} else if (ua.match(/^.*\s([A-Za-z]+BSD)/)) {
|
|
user_agent_os = RegExp.$1;
|
|
} else if (ua.match(/SunOS/)) {
|
|
user_agent_os = "Solaris";
|
|
} else if (ua.match("Nintendo Wii")) {
|
|
user_agent_os = "Nintendo_Wii";
|
|
} else if (ua.match("PlayStation 4")) {
|
|
user_agent_os = "SONY_PS4";
|
|
} else if (ua.match("PlayStation 5")) {
|
|
user_agent_os = "SONY_PS5";
|
|
} else if (ua.match("PlayStation Vita")) {
|
|
user_agent_os = "SONY_PSVita";
|
|
} else if (ua.match("Nintendo Switch")) {
|
|
user_agent_os = "Nintendo_Switch";
|
|
} else if (ua.match("Windows Phone")) {
|
|
user_agent_os = "Windows_Phone";
|
|
} else {
|
|
user_agent_os = 'Other';
|
|
}
|
|
|
|
/*SSL*/
|
|
if (location.protocol == 'http:') {
|
|
if (location.hostname == 'localhost') {
|
|
user_agent_ssl = "not_ssl";
|
|
} else {
|
|
user_agent_ssl = "not_ssl_bad";
|
|
}
|
|
} else if (location.protocol == 'https:') {
|
|
user_agent_ssl = "ssl";
|
|
} else {
|
|
user_agent_ssl = "Other";
|
|
}
|
|
|
|
/*Cookie*/
|
|
if (navigator.cookieEnabled) {
|
|
user_agent_cookie = 'cookie_on';
|
|
} else {
|
|
user_agent_cookie = 'cookie_off';
|
|
}
|
|
|
|
/*Main Access check*/
|
|
|
|
if (user_agent_browser == 'Microsoft_Internet_Explorer' || user_agent_browser == 'NintendoBrowser') {
|
|
user_agent_access = 'bad';
|
|
errcode = 'UNSUPPORTED_BROWSER';
|
|
} else if (user_agent_os == 'Nintendo_Wii' || user_agent_os == 'SONY_PSVita' || user_agent_os == 'Nintendo_Switch' || user_agent_os == 'Windows_Phone' || user_agent_os == 'iOS_6_Under') {
|
|
user_agent_access = 'bad';
|
|
errcode = 'UNSUPPORTED_OS';
|
|
} else if (user_agent_cookie == 'cookie_off') {
|
|
user_agent_access = 'bad';
|
|
errcode = 'PLEASE_COOKIE_ON';
|
|
} else if (user_agent_ssl == 'Other') {
|
|
user_agent_access = 'bad';
|
|
errcode = 'NONE_SSL';
|
|
} else if (user_agent_ssl == 'not_ssl_bad') {
|
|
user_agent_access = 'bad';
|
|
errcode = 'NONE_SSL_SERVER';
|
|
} else {
|
|
user_agent_access = 'ok';
|
|
errcode = 'NONE_ERROR';
|
|
}
|
|
|
|
/*
|
|
console.log('browser : '+user_agent_browser);
|
|
console.log('cookie : '+user_agent_cookie);
|
|
console.log('os : '+user_agent_os);
|
|
console.log('ssl : '+user_agent_ssl);
|
|
console.log('access : '+user_agent_access);
|
|
console.log('errorcode : '+errcode);
|
|
*/
|
|
|
|
if (user_agent_access == 'bad') {
|
|
setTimeout(link(), 0);
|
|
function link() {
|
|
location.href = "../unsupported.php?errcode=" + errcode + "&browser=" + user_agent_browser + "&os=" + user_agent_os + "&cookie=" + user_agent_cookie + "&ssl=" + user_agent_ssl + "&block=null"
|
|
}
|
|
}
|
|
|