Czy jest możliwe, aby tam przez wszelkiego rodzaju wartości $_GET
lub $_POST
który jest nie tablica lub ciąg?
Dla tych, którzy czytają kod lepiej, jest to w ogóle możliwe, aby uruchomić ten prosty skrypt na serwerze WWW i dostać go, aby rzucić wyjątek?
// crash-me.php
<?php
function must_be_array_or_string($value) {
if(is_string($value))
return;
if(is_array($value)) {
foreach($value as $subValue)
must_be_array_or_string($subValue);
return;
}
throw new Exception("Value is " . gettype($value));
}
if(isset($_GET))
must_be_array_or_string($_GET);
if(isset($_POST))
must_be_array_or_string($_POST);
Przesyłanie plików nie występuje w '$ _POST' lub' $ _GET', należy sprawdzić '$ _FILES', aby uzyskać informacje o przesyłaniu plików (a nawet wtedy zawartość jest nadal tablicami i ciągami). – dcousineau
@dcousineau: Jesteś pewien? Wierzę, że indeks "błąd" w '$ _FILES' zawiera liczby całkowite, takie jak' UPLOAD_ERR_OK'. –