2020-06-30 12:49:37 +02:00
|
|
|
include::../description.adoc[]
|
|
|
|
|
|
|
|
include::../ask-yourself.adoc[]
|
|
|
|
|
|
|
|
include::../recommended.adoc[]
|
|
|
|
|
|
|
|
== Sensitive Code Example
|
|
|
|
|
2021-01-27 13:42:22 +01:00
|
|
|
Builtin access to ``++$argv++``
|
2020-06-30 14:49:38 +02:00
|
|
|
|
2020-06-30 12:49:37 +02:00
|
|
|
----
|
|
|
|
function globfunc() {
|
|
|
|
global $argv; // Sensitive. Reference to global $argv
|
|
|
|
foreach ($argv as $arg) { // Sensitive.
|
|
|
|
// ...
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function myfunc($argv) {
|
|
|
|
$param = $argv[0]; // OK. Reference to local $argv parameter
|
|
|
|
// ...
|
|
|
|
}
|
|
|
|
|
|
|
|
foreach ($argv as $arg) { // Sensitive. Reference to $argv.
|
|
|
|
// ...
|
|
|
|
}
|
|
|
|
|
|
|
|
$myargv = $_SERVER['argv']; // Sensitive. Equivalent to $argv.
|
|
|
|
|
|
|
|
function serve() {
|
|
|
|
$myargv = $_SERVER['argv']; // Sensitive.
|
|
|
|
// ...
|
|
|
|
}
|
|
|
|
|
|
|
|
myfunc($argv); // Sensitive
|
|
|
|
|
|
|
|
$myvar = $HTTP_SERVER_VARS[0]; // Sensitive. Note: HTTP_SERVER_VARS has ben removed since PHP 5.4.
|
|
|
|
|
|
|
|
$options = getopt('a:b:'); // Sensitive. Parsing arguments.
|
|
|
|
|
|
|
|
$GLOBALS["argv"]; // Sensitive. Equivalent to $argv.
|
|
|
|
|
|
|
|
function myglobals() {
|
|
|
|
$GLOBALS["argv"]; // Sensitive
|
|
|
|
}
|
|
|
|
|
|
|
|
$argv = [1,2,3]; // Sensitive. It is a bad idea to override argv.
|
|
|
|
----
|
|
|
|
|
|
|
|
Zend Console
|
2020-06-30 14:49:38 +02:00
|
|
|
|
2020-06-30 12:49:37 +02:00
|
|
|
----
|
|
|
|
new Zend\Console\Getopt(['myopt|m' => 'this is an option']); // Sensitive
|
|
|
|
----
|
|
|
|
|
|
|
|
Getopt-php library
|
2020-06-30 14:49:38 +02:00
|
|
|
|
2020-06-30 12:49:37 +02:00
|
|
|
----
|
|
|
|
new \GetOpt\Option('m', 'myoption', \GetOpt\GetOpt::REQUIRED_ARGUMENT); // Sensitive
|
|
|
|
----
|
|
|
|
|
|
|
|
include::../see.adoc[]
|
2021-06-02 20:44:38 +02:00
|
|
|
|
2021-06-03 09:05:38 +02:00
|
|
|
ifdef::env-github,rspecator-view[]
|
2021-09-20 15:38:42 +02:00
|
|
|
|
|
|
|
'''
|
|
|
|
== Implementation Specification
|
|
|
|
(visible only on this page)
|
|
|
|
|
|
|
|
include::../message.adoc[]
|
|
|
|
|
2021-06-08 15:52:13 +02:00
|
|
|
'''
|
2021-06-02 20:44:38 +02:00
|
|
|
== Comments And Links
|
|
|
|
(visible only on this page)
|
|
|
|
|
|
|
|
include::../comments-and-links.adoc[]
|
2023-06-22 10:38:01 +02:00
|
|
|
|
2021-06-03 09:05:38 +02:00
|
|
|
endif::env-github,rspecator-view[]
|