steverobbins /
magescan
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | /** |
||
| 3 | * Mage Scan |
||
| 4 | * |
||
| 5 | * PHP version 5 |
||
| 6 | * |
||
| 7 | * @category MageScan |
||
| 8 | * @package MageScan |
||
| 9 | * @author Steve Robbins <[email protected]> |
||
| 10 | * @copyright 2015 Steve Robbins |
||
| 11 | * @license http://creativecommons.org/licenses/by/4.0/ CC BY 4.0 |
||
| 12 | * @link https://github.com/steverobbins/magescan |
||
| 13 | */ |
||
| 14 | |||
| 15 | require_once '../vendor/autoload.php'; |
||
| 16 | |||
| 17 | use MageScan\Url; |
||
| 18 | use MageScan\Request; |
||
| 19 | |||
| 20 | $suggestUrl = ''; |
||
| 21 | if (isset($_GET['url'])) { |
||
| 22 | $url = $_GET['url']; |
||
| 23 | $magescanUrl = new Url; |
||
| 24 | $url = $magescanUrl->clean(urldecode($_GET['url'])); |
||
| 25 | $request = new Request($url, false); |
||
| 26 | $response = $request->get($url); |
||
|
0 ignored issues
–
show
|
|||
| 27 | $headers = $response->getHeaders(); |
||
| 28 | if (isset($headers['Location'])) { |
||
| 29 | $suggestUrl = $headers['Location']; |
||
| 30 | } |
||
| 31 | $suggestUrl = trim($suggestUrl, '/'); |
||
| 32 | } else { |
||
| 33 | $url = false; |
||
| 34 | } |
||
| 35 | |||
| 36 | ?><!DOCTYPE html> |
||
| 37 | <html> |
||
| 38 | <head> |
||
| 39 | <meta charset="UTF-8"> |
||
| 40 | <title>Mage Scan<?php echo $url ? ' - ' .$url : '' ?></title> |
||
| 41 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
||
| 42 | <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> |
||
| 43 | <link rel="stylesheet" href="css/loaders.min.css"> |
||
| 44 | <link rel="stylesheet" href="css/style.css"> |
||
| 45 | </head> |
||
| 46 | <body> |
||
| 47 | <nav class="navbar navbar-inverse"> |
||
| 48 | <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> |
||
| 49 | <span class="sr-only">Toggle navigation</span> |
||
| 50 | <span class="icon-bar"></span> |
||
| 51 | <span class="icon-bar"></span> |
||
| 52 | <span class="icon-bar"></span> |
||
| 53 | </button> |
||
| 54 | <div class="container"> |
||
| 55 | <div class="navbar-header"> |
||
| 56 | <a class="navbar-brand" href="/">Mage Scan <?php echo file_get_contents('download/version') ?></a> |
||
| 57 | </div> |
||
| 58 | <div id="navbar" class="navbar-collapse collapse"> |
||
| 59 | <ul class="nav navbar-nav"> |
||
| 60 | <li><a href="https://github.com/steverobbins/magescan">GitHub</a></li> |
||
| 61 | <li><a href="download/magescan.phar">Download <strong>magescan.phar</strong></a></li> |
||
| 62 | </ul> |
||
| 63 | </div> |
||
| 64 | </div> |
||
| 65 | </nav> |
||
| 66 | <div class="container"> |
||
| 67 | <div class="page-header"> |
||
| 68 | <h1>Scan Your Magento Store</h1> |
||
| 69 | </div> |
||
| 70 | <form id="magescan-form" method="get" action="/"> |
||
| 71 | <fieldset> |
||
| 72 | <input type="text" placeholder="http://store.example.com/" autofocus="autofocus" name="url"<?php echo $url ? ' value="' . $url . '"' : '' ?> /> |
||
| 73 | <input type="submit" value="Scan" /> |
||
| 74 | </fieldset> |
||
| 75 | </form> |
||
| 76 | <?php if ($suggestUrl && $url != $suggestUrl): ?> |
||
| 77 | <div class="suggest"> |
||
| 78 | Did you mean <a href="?url=<?php echo urlencode($suggestUrl) ?>"><?php echo $suggestUrl ?></a>? |
||
| 79 | </div> |
||
| 80 | <?php endif ?> |
||
| 81 | </div> |
||
| 82 | <?php if ($url): ?> |
||
| 83 | <div class="container"> |
||
| 84 | <div class="page-header"> |
||
| 85 | <h2>Results for <a href="<?php echo $url ?>"><?php echo $url ?></a></h2> |
||
| 86 | </div> |
||
| 87 | <div id="results"> |
||
| 88 | <div class="row"> |
||
| 89 | <div class="col-sm-4" id="magentoinfo"> |
||
| 90 | <div class="panel panel-default"> |
||
| 91 | <div class="panel-heading"> |
||
| 92 | <h3 class="panel-title">Magento</h3> |
||
| 93 | </div> |
||
| 94 | <div class="panel-body response"> |
||
| 95 | <div class="loader"> |
||
| 96 | <div class="loader-inner ball-clip-rotate-multiple"> |
||
| 97 | <div></div> |
||
| 98 | <div></div> |
||
| 99 | </div> |
||
| 100 | </div> |
||
| 101 | </div> |
||
| 102 | </div> |
||
| 103 | </div> |
||
| 104 | <div class="col-sm-4" id="sitemap"> |
||
| 105 | <div class="panel panel-default"> |
||
| 106 | <div class="panel-heading"> |
||
| 107 | <h3 class="panel-title">Sitemap</h3> |
||
| 108 | </div> |
||
| 109 | <div class="panel-body response"> |
||
| 110 | <div class="loader"> |
||
| 111 | <div class="loader-inner ball-clip-rotate-multiple"> |
||
| 112 | <div></div> |
||
| 113 | <div></div> |
||
| 114 | </div> |
||
| 115 | </div> |
||
| 116 | </div> |
||
| 117 | </div> |
||
| 118 | </div> |
||
| 119 | <div class="col-sm-4" id="catalog"> |
||
| 120 | <div class="panel panel-default"> |
||
| 121 | <div class="panel-heading"> |
||
| 122 | <h3 class="panel-title">Catalog <span class="label label-info">?</span></h3> |
||
| 123 | </div> |
||
| 124 | <div class="panel-body"> |
||
| 125 | <div class="alert alert-info">This only includes visible and enabled entities for this store view.</div> |
||
| 126 | <div class="response"> |
||
| 127 | <div class="loader"> |
||
| 128 | <div class="loader-inner ball-clip-rotate-multiple"> |
||
| 129 | <div></div> |
||
| 130 | <div></div> |
||
| 131 | </div> |
||
| 132 | </div> |
||
| 133 | </div> |
||
| 134 | </div> |
||
| 135 | </div> |
||
| 136 | </div> |
||
| 137 | </div> |
||
| 138 | <div class="row"> |
||
| 139 | <div class="col-sm-4"> |
||
| 140 | <div class="panel panel-default" id="servertech"> |
||
| 141 | <div class="panel-heading"> |
||
| 142 | <h3 class="panel-title">Technology</h3> |
||
| 143 | </div> |
||
| 144 | <div class="panel-body response"> |
||
| 145 | <div class="loader"> |
||
| 146 | <div class="loader-inner ball-clip-rotate-multiple"> |
||
| 147 | <div></div> |
||
| 148 | <div></div> |
||
| 149 | </div> |
||
| 150 | </div> |
||
| 151 | </div> |
||
| 152 | </div> |
||
| 153 | <div class="panel panel-default" id="patch"> |
||
| 154 | <div class="panel-heading"> |
||
| 155 | <h3 class="panel-title">Patches</h3> |
||
| 156 | </div> |
||
| 157 | <div class="panel-body"> |
||
| 158 | <div class="magereport"> |
||
| 159 | Need help? View report on <a href="https://www.magereport.com/scan/?s=<?php echo urlencode($url) ?>">MageReport.com</a> |
||
| 160 | </div> |
||
| 161 | <div class="response"> |
||
| 162 | <div class="loader"> |
||
| 163 | <div class="loader-inner ball-clip-rotate-multiple"> |
||
| 164 | <div></div> |
||
| 165 | <div></div> |
||
| 166 | </div> |
||
| 167 | </div> |
||
| 168 | </div> |
||
| 169 | </div> |
||
| 170 | </div> |
||
| 171 | <div class="panel panel-default" id="modules"> |
||
| 172 | <div class="panel-heading"> |
||
| 173 | <h3 class="panel-title">Modules</h3> |
||
| 174 | </div> |
||
| 175 | <div class="panel-body response"> |
||
| 176 | <div class="loader"> |
||
| 177 | <div class="loader-inner ball-clip-rotate-multiple"> |
||
| 178 | <div></div> |
||
| 179 | <div></div> |
||
| 180 | </div> |
||
| 181 | </div> |
||
| 182 | </div> |
||
| 183 | </div> |
||
| 184 | </div> |
||
| 185 | <div class="col-sm-8" id="unreachablepath"> |
||
| 186 | <div class="panel panel-default"> |
||
| 187 | <div class="panel-heading"> |
||
| 188 | <h3 class="panel-title">Sensitive URLs <span class="label label-info">?</span></h3> |
||
| 189 | </div> |
||
| 190 | <div class="panel-body"> |
||
| 191 | <div class="alert alert-info">These are URLs that may reveal sensative information about the system. They shouldn't be visible to the public.</div> |
||
| 192 | <div class="response"> |
||
| 193 | <div class="loader"> |
||
| 194 | <div class="loader-inner ball-clip-rotate-multiple"> |
||
| 195 | <div></div> |
||
| 196 | <div></div> |
||
| 197 | </div> |
||
| 198 | </div> |
||
| 199 | </div> |
||
| 200 | </div> |
||
| 201 | </div> |
||
| 202 | </div> |
||
| 203 | </div> |
||
| 204 | </div> |
||
| 205 | </div> |
||
| 206 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> |
||
| 207 | <script src="js/script.js"></script> |
||
| 208 | <script> |
||
| 209 | jQuery(document).ready(function() { |
||
| 210 | MageScan.scan('<?php echo $url ?>'); |
||
| 211 | }) |
||
| 212 | </script> |
||
| 213 | <?php endif ?> |
||
| 214 | <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> |
||
| 215 | <script> |
||
| 216 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
||
| 217 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
||
| 218 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
||
| 219 | })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); |
||
| 220 | ga('create', 'UA-16126282-21', 'auto'); |
||
| 221 | ga('send', 'pageview'); |
||
| 222 | </script> |
||
| 223 | </body> |
||
| 224 | </html> |
||
| 225 |
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: