Failed Conditions
Pull Request — dev (#132)
by Steve
02:31
created

public/index.php (1 issue)

Severity

Upgrade to new PHP Analysis Engine

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
The call to Request::get() has too many arguments starting with $url.

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress.

In this case you can add the @ignore PhpDoc annotation to the duplicate definition and it will be ignored.

Loading history...
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