1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <title>Captcha</title> 6 <link rel="stylesheet" 7 href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" 8 integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" 9 crossorigin="anonymous"> 10 <link href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAF0lEQVRIx2NgGAWjYBSMglEwCkbBSAcACBAAAeaR9cIAAAAASUVORK5CYII=" 11 rel="icon" type="image/x-icon"/> 12 <link href="https://fonts.googleapis.com/css?family=Noto+Sans" 13 rel="stylesheet"> 14 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script> 15 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
vendor: 111 bytes, lines 15-22
15 16 17 <script src="https://www.google.com/recaptcha/api.js?hl=en" 18 async defer> 19 </script> 20 21 22
22<style> 23 html, body { 24 height: 100%; 25 } 26 27 .wraper { 28 padding-bottom: 56px; 29 position: relative; 30 min-height: 100%; 31 } 32 .invisible_mode .wraper { 33 display: none; 34 } 35 36 .header { 37 height: 63px; 38 background-color: white; 39 } 40 41 .middle { 42 height: 186px; 43 background-color: rgba(55, 171, 99, 0.75); 44 } 45 46 .bottom { 47 background-color: #f2f2f2; 48 position: absolute; 49 bottom: 0px; 50 top: 249px; 51 width: 100%; 52 } 53 54 .captcha_absolute { 55 margin-top: -153px; 56 } 57 58 .captcha_div { 59 width: 485px; 60 margin: 0 auto; 61 box-shadow: 0 5px 8px 0 rgba(0, 0, 0, 0.18), 0 0 8px 0 rgba(0, 0, 0, 0.12); 62 background-color: white; 63 padding: 47px 48px 18px 48px; 64 position: relative; 65 } 66 67 .cap_head { 68 border-bottom: 1px solid #d8d8d8; 69 padding-bottom: 17px; 70 margin: 0 10px 20px 10px; 71 } 72 73 .logo_shield { 74 display: inline-block; 75 } 76 77 .logo_shield img { 78 width: 54px; 79 height: 72px; 80 } 81 82 .cap_side { 83 width: 295px; 84 } 85 86 h4#text { 87 font-size: 20px; 88 line-height: 1.38; 89 color: #000000; 90 font-weight: bold; 91 font-family: Noto Sans, sans-serif; 92 margin: 6px 0 0 0; 93 } 94 95 .cap_text { 96 font-family: Noto Sans, sans-serif; 97 font-weight: normal; 98 font-style: normal; 99 font-stretch: normal; 100 line-height: 1.65; 101 color: #000000; 102 } 103 104 p.cap_note { 105 font-size: 20px; 106 margin: 0; 107 } 108 109 .captcha_passed h4#text, .captcha_passed p.cap_note { font-size: 18px } 110 111 .cap_mess { 112 font-size: 13px; 113 } 114 115 .powered_span { 116 position: absolute; 117 bottom: 15px; 118 width: 100%; 119 text-align: center; 120 height: 18px; 121 opacity: 0.45; 122 font-family: Noto Sans; 123 font-size: 13px; 124 font-weight: normal; 125 font-style: normal; 126 font-stretch: normal; 127 color: #1d1d1d; 128 } 129 130 /* A few hacks for re-captcha */ 131 132 .invisible_mode .re-captcha-wrapper { /* shift reCAPTCHA below our text */ 133 top: 350px !important; 134 } 135 .invisible_mode .re-captcha-wrapper > div:first-child { /* hide reCAPTCHA mask */ 136 display: none !important; 137 } 138 .visible_mode #re-captcha { /* align to center */ 139 width: 305px; 140 margin: 0 auto; 141 } 142 143 /* Imunify360 preloader */ 144 145 .big_loader { 146 position: absolute; 147 left: 0; 148 right: 0; 149 top: 50%; 150 width: 90px; 151 height: 90px; 152 margin: -45px auto 0 auto; 153 opacity: 0.55; 154 } 155 .visible_mode .big_loader { 156 display: none; 157 } 158 159 .rot { 160 -webkit-animation: spin 2s ease-in-out infinite; 161 animation: spin 2s ease-in-out infinite 162 } 163 164 @keyframes spin { 165 0% { 166 -webkit-transform: rotate(0deg); 167 -moz-transform: rotate(0deg); 168 -ms-transform: rotate(0deg); 169 -o-transform: rotate(0deg); 170 transform: rotate(0deg); 171 } 172 100% { 173 -webkit-transform: rotate(360deg); 174 -moz-transform: rotate(360deg); 175 -ms-transform: rotate(360deg); 176 -o-transform: rotate(360deg); 177 transform: rotate(360deg); 178 } 179 } 180 </style> 181 182<!-- 183This whole tempalte goes to inside <head></head> tags 184Modify this file to add javascript or css files for your page from customize/static folder 185Jinja2 (which is index.html template engine) is not allowed to use here. 186 187Please, restart captcha server after your changes. 188service imunify360-captcha restart 189service imunify360-captchaserver-nginx restart 190 191Example: 192<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 193Add your custom css from customize/static/ folder 194<link type="text/css" rel="stylesheet" href="static/my.css"> 195--> 196</head> 197<body class="invisible_mode"> 198<div class="wraper"> 199 200<!-- 201You can add your css, javascript, images and other static files in /customize/static/ folder 202And add css, javascript into the end of `head` section of this template 203Please, restart webshield after your changes 204systemctl restart imunify360-webshield 205--> 206<div class="header"> 207 <!-- Header of the index page --> 208</div> 209 210<div class="middle"> 211 <!-- Body of the index page --> 212</div> 213 214<div class="bottom"> 215 <!-- Footer of the index page --> 216 <span class="powered_span">Powered by Imunify360</span> 217</div> 218 219 <div class="captcha_absolute"> 220 <div class="captcha_div"> 221 <style> 222 .dropdown { 223 position: absolute; 224 top: 10px; 225 right: 0; 226 } 227 228 .dropdown .dropdown-toggle { 229 background-color: #fff; 230 border: none; 231 outline: none; 232 color: #858585; 233 font-size: 13px; 234 height: 32px; 235 line-height: 1; 236 transition: all 0.4s; 237 font-family: 'Noto Sans', sans-serif; 238 margin-right: 22px; 239 } 240 241 .dropdown .dropdown-toggle:hover { 242 background-color: #e7e7e7; 243 } 244 245 .dropdown .dropdown-menu-content { 246 background-color: #ffffff; 247 box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.24); 248 border-width: 0px; 249 border-radius: 0; 250 padding: 11px 0 0;
251 overflow-y: scroll; 252 max-height: 365px; 253 margin: 0; 254 } 255 256 .dropdown .glyphicon { 257 margin-left: 6px; 258 top: 2px; 259 transition: 0.3s all; 260 } 261 262 .dropdown li { 263 height: 35px; 264 text-align: left; 265 padding-left: 24px; 266 font-size: 13px; 267 color: #4d4d4e; 268 line-height: 2.85; 269 font-family: 'Noto Sans', sans-serif; 270 } 271 .dropdown li:last-child { 272 margin-bottom: 14px; 273 } 274 275 .dropdown li.active { 276 font-weight: bold; 277 } 278 279 .dropdown li:focus, .dropdown li:hover { 280 color: #4d4d4e; 281 background-color: rgba(56, 171, 99, 0.11); 282 } 283 284 .dropdown .dropdown-menu-content > li:hover { 285 cursor: pointer; 286 } 287 288 .dropdown .dropdown-menu-container { 289 max-height: 365px; 290 overflow: hidden; 291 width: 164px; 292 padding: 0; 293 border: 0; 294 border-radius: 0; 295 box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.24); 296 z-index: 5000000000; 297 } 298 299 .dropdown.open .glyphicon { 300 transform: rotate(180deg); 301 } 302</style> 303 304 305<div class="dropdown"> 306 <button type="button" class="dropdown-toggle" data-toggle="dropdown" 307 aria-haspopup="true" aria-expanded="false"> 308 <span class="dropdown-title">English</span> 309 <span class="glyphicon glyphicon-menu-down" aria-hidden="true"></span> 310 </button> 311 <div class="dropdown-menu dropdown-menu-container"> 312 <ul class="dropdown-menu-content"></ul> 313 </div> 314</div> 315 316<script> 317 (function () { 318 var items = { 319 English: 'en', 320 Dutch: 'nl', 321 Ukrainian: 'uk', 322 Arabic: 'ar', 323 Italian: 'it', 324 Chinese: 'zh', 325 Polish: 'pl', 326 Danish: 'da', 327 Hungarian: 'hu', 328 Russian: 'ru', 329 French: 'fr', 330 Spanish: 'es', 331 Romanian: 'ro', 332 Greek: 'el', 333 Swedish: 'sv', 334 Turkish: 'tr', 335 Indonesian: 'id', 336 Portuguese: 'pt', 337 Hebrew: 'he', 338 German: 'de', 339 Malay: 'ms', 340 Norwegian: 'no', 341 Farsi: 'fa', 342 }; 343 var currentLocale = $('html').attr('lang'); 344 345 var currentLocaleName = Object.keys(items).find(function (key) { 346 return items[key] === currentLocale; 347 }); 348 349 $('.dropdown-title').text(currentLocaleName); 350 351 $('.dropdown-menu-content') 352 .append(Object.keys(items).sort().map(function (item) { 353 return $('<li>').text(item); 354 })) 355 .on("click", function (e) { 356 var nextLocaleName = e.target.innerText; 357 if (nextLocaleName === currentLocaleName) { 358 e.stopPropagation(); 359 } else { 360 document.cookie = 'locale=' + items[nextLocaleName] + ';path=/'; 361 location.reload(true); 362 } 363 364 }); 365 366 $([].find.call($('.dropdown-menu li'), function (item) { 367 return item.innerText === currentLocaleName; 368 })).addClass('active'); 369 370 function insertParam(key, value) { 371 key = encodeURIComponent(key); 372 value = encodeURIComponent(value); 373 374 var kvp = document.location.search.substr(1).split('&'); 375 if (kvp == '') { 376 document.location.search = '?' + key + '=' + value; 377 } 378 else { 379 380 var i = kvp.length; 381 var x; 382 while (i--) { 383 x = kvp[i].split('='); 384 385 if (x[0] === key) { 386 x[1] = value; 387 kvp[i] = x.join('='); 388 break; 389 } 390 } 391 392 if (i < 0) { 393 kvp[kvp.length] = [key, value].join('='); 394 } 395 396 //this will reload the page, it's likely better to store this until finished 397 document.location.search = kvp.join('&'); 398 } 399 } 400 })(); 401</script> 402 403 <div class="cap_head clearfix"> 404 <div class="logo_shield"> 405 <img src="/a9bc224bd710f56d27affffddc764239b58c3faa0/shield.png"> 406 </div> 407 <div class="cap_side pull-right"> 408 <h4 id="text">
408stjamesminorbaseball.net</h4> 409 <p class="cap_note cap_text count_down"> 410 is protected by Imunify360 411 </p> 412 </div> 413 </div> 414 415 <p class="cap_mess cap_text text-center"> 416 We have noticed an unusual activity from your <b>IP 135.181.214.38</b> and blocked access to this website. 417 </p> 418 419 <p class="cap_mess cap_text text-center"> 420 <b>Please confirm that you are not a robot</b> 421 </p> 422 423 </div> 424 </div> 425</div> 426 427<form class="form-group form-captcha"> 428 <div id="re-captcha" 429 class="g-recaptcha" 430 data-sitekey="6LcZaPwUAAAAAKQ8DW178c0eBeIXAr0c_oEQnHMZ" 431 data-size="invisible" 432 data-callback="check" 433 ></div> 434</form> 435 436<!-- imunify360 preloader --> 437<div class="big_loader"> 438 <svg class="rot" width="90px" height="90px" viewBox="0 0 47 47" 439 version="1.1" 440 xmlns="http://www.w3.org/2000/svg" 441 xmlns:xlink="http://www.w3.org/1999/xlink"> 442 <title>Loader</title> 443 <defs> 444 <polygon id="path-1" 445 points="0 0.375484146 0 15.7255695 15.7013244 15.7255695 15.7013244 0.375484146 0 0.375484146"></polygon> 446 </defs> 447 <g id="Page-1" stroke="none" stroke-width="1" fill="none" 448 fill-rule="evenodd"> 449 <g id="Logo" transform="translate(-5.000000, -2.000000)"> 450 <g id="Group-2" transform="translate(5.000000, 2.000000)"> 451 <path d="M22.6150244,4.52988293 C23.1538049,3.06256585 23.6031707,1.59582195 24.231939,0.158882927 C25.1902805,2.22459024 25.8190488,4.43989512 26.7768171,6.47579756 C29.1417195,7.40376098 31.7164024,7.7929439 34.1116829,8.69110244 C28.9623171,11.2663585 23.7229634,13.7510537 18.4836098,16.176139 C19.7709512,12.2545049 21.2382683,8.4217122 22.6150244,4.52988293 L22.6150244,4.52988293 Z" 452 id="Fill-1" fill="#467C45"></path> 453 <path d="M13.7718598,8.94461585 C16.1424939,7.68077439 18.4500793,6.28968902 20.8207134,5.02527439 C18.9240915,10.8412378 16.7747012,16.5614817 14.8465549,22.3774451 C12.7292622,18.3950549 10.895689,14.2544695 8.9044939,10.2090305 C8.27228659,8.85004268 7.5455061,7.55353049 7.00844512,6.16359146 C9.31545732,6.95342073 11.4648476,8.24935976 13.7718598,8.94461585" 454 id="Fill-3" fill="#467C45"></path> 455 <path d="M24.2134256,15.0745049 C29.4602305,12.4969561 34.7379866,9.91940732 40.0157427,7.4031878 C39.1565598,9.61276098 38.1747183,11.7300537 37.2232549,13.9086756 C38.4504134,16.2099561 39.9544134,18.388578 41.0898646,20.7511878 C35.4435598,18.9405415 29.8287793,17.0381878 24.2134256,15.0745049" 456 id="Fill-5" fill="#467C45"></path> 457 <g id="Group-9" 458 transform="translate(0.000000, 11.919659)"> 459 <mask id="mask-2" fill="white"> 460 <use xlink:href="#path-1"></use> 461 </mask> 462 <g id="Clip-8"></g> 463 <path d="M8.34869024,0.375484146 C9.93064146,3.33419146 11.2781659,6.43963049 12.7426171,9.45622805 C13.7387878,11.5362646 14.793422,13.5876427 15.7013244,15.7255695 C10.4579585,13.9091915 5.21401951,12.03435 -0.000114634146,10.0718134 C2.05069024,9.1341061 4.21842195,8.4898622 6.29845854,7.61119146 C6.97193415,5.17980122 7.67521463,2.77706951 8.34869024,0.375484146" 464 id="Fill-7" fill="#467C45" 465 mask="url(#mask-2)"></path> 466 </g> 467 <path d="M29.1793195,18.0496049 C33.5600634,19.4670561 37.9081366,21.0776659 42.2888805,22.5593122 C43.6742341,23.0745927 45.1558805,23.4609098 46.5085634,24.1372512 C44.2216122,25.039422 41.9025634,25.9100683 39.6477098,26.8110927 C38.8103073,29.4195927 38.2302585,32.1261049 37.3607585,34.7346049 C35.5890878,31.4497634 34.0432463,28.0353854 32.3684415,24.6852024 C31.3052098,22.4945439 30.1456854,20.3044585 29.1793195,18.0496049" 468 id="Fill-10" fill="#467C45"></path> 469 <path d="M28.9972232,29.3489207 C29.5789915,27.69475 30.0684793,26.0113476 30.7419549,24.3887012 C31.538089,25.7660305 32.1811866,27.2356402 32.9154183,28.6444939 C34.7220524,32.4709817 36.68115,36.205189 38.4568329,40.0316768 C36.2827963,39.1449817 34.1402841,38.1654329 31.9364427,37.2460671 C29.6403207,38.4709329 27.4662841,39.9405427 25.1094061,41.1035061 C26.3033207,37.1549329 27.7419793,33.2671159 28.9972232,29.3489207" 470 id="Fill-12" fill="#467C45"></path> 471 <path d="M4.97133902,25.64555 C9.93385122,27.1873793 14.7737049,29.036428 19.6748878,30.6705378 C20.4148512,30.9170012 21.1542415,31.1944159 21.8328756,31.5337329 C16.5304732,33.9685622 11.3214976,36.6498549 5.95776585,38.99355 C6.82096098,36.8355622 7.89966829,34.7698549 8.7319122,32.581489 C7.68358293,30.1764646 6.11194878,28.01905 4.97133902,25.64555" 472 id="Fill-14" fill="#467C45"></path> 473 <path d="M15.4549183,35.8770488 C19.4671134,33.9317073 23.4483573,31.8952317 27.4915037,30.0433171 C26.4110768,33.6542927 25.0222841,37.203939 23.8186256,40.8143415 C23.1090402,42.7275854 22.5530646,44.7033049 21.7511988,46.5855976 C20.7630524,44.4866463 20.0534671,42.2650366 19.1277963,40.1351341 C16.6276256,39.2094634 14.0042232,38.684439 11.4736744,37.9748537 C12.6773329,37.0801341 14.1584061,36.586061 15.4549183,35.8770488" 474 id="Fill-16" fill="#467C45"></path> 475 </g> 476 </g> 477 </g> 478 </svg> 479</div> 480 481<script> 482 $(document).ready(function () { 483 var visibleByDefault = false;
484 var captchaIsPassed = false; 485 var captchaIsVisible = visibleByDefault; 486 var reCaptchaWrapper; 487 488 function do_reload() { 489 location.reload(true); 490 } 491 492 window.check = function (value) { 493 $.ajax({ 494 type: 'POST', 495 url: '/captchacheck', 496 data: { 497 'captcha_value': value 498 } 499 }).done(function (data) { 500 if (data['success']) { 501 captchaIsPassed = true; 502 $("#text").next("p").text(""); 503 $("#text").text( 504 "IP 135.181.214.38 has been unblocked" 505 ); 506 setTimeout(do_reload, 1000); 507 } else { 508 grecaptcha.reset(); 509 } 510 }).fail(function () { 511 grecaptcha.reset(); 512 }); 513 }; 514 515 function updateUI() { 516 // change the size of our block to fit the captcha block 517 var blockWithText = $('.captcha_div'); 518 var captchaBlock = reCaptchaWrapper.find('> div:last-child'); 519 var currentPadding; 520 (function update () { 521 var space = captchaBlock.offset().top + captchaBlock.height() - blockWithText.height() - 100; 522 var padding = captchaIsPassed ? '' : space + 'px'; 523 if (currentPadding !== padding) { 524 blockWithText.css({'padding-bottom': padding}); 525 } 526 setTimeout(update, 500); 527 })(); 528 } 529 530 function makeVisible() { 531 $('.big_loader').hide(); // hide our preloader 532 $('.wraper').show(); // show our text and stuff 533 // add class to reCAPTCHA wrapper so our css would apply to it 534 reCaptchaWrapper.addClass('re-captcha-wrapper'); 535 captchaIsVisible = true; 536 } 537 538 function executeCaptcha() { 539 try { 540 grecaptcha.execute(); 541 } catch (e) { 542 setTimeout(executeCaptcha, 2000); // retry 543 } 544 } 545 546 if (!visibleByDefault) { 547 /** 548 * Detecting captcha when css is changed to visible. 549 * Invisible reCaptcha has no API calls when captcha will be visible, 550 * (captcha is shown to user). 551 * When captcha changed css "visibility" to the "visible", we should: 552 * 1. hide the loader and captcha mask 553 * 2. display some additional text 554 * 3. display a dropdown so user can switch to a different language 555 */ 556 (function checkVisibility () { 557 reCaptchaWrapper = reCaptchaWrapper && reCaptchaWrapper.length 558 ? reCaptchaWrapper 559 : $('body > div:has(> div > iframe[src^="https://www.google.com/recaptcha"])'); 560 if (reCaptchaWrapper.css('visibility') === 'visible') { 561 makeVisible(reCaptchaWrapper); 562 updateUI(reCaptchaWrapper); 563 } else { 564 setTimeout(checkVisibility, 100); 565 } 566 })(); 567 568 // start captcha challenge after loads all scripts 569 setTimeout(executeCaptcha, 2000); 570 } 571 572 }); 573 574</script> 575 576</body> 577</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.