contao/test — Issue #1429: Input->postRaw und stripslashes bei Array-Parametern (in 2.7.5)
Author: tristanlins
Created: 2011-11-29 07:54:43+00:00
State: open
Labels: Defect, framework

Hi, ich habe heute festgestellt, dass wenn magic_quotes_gpc aktiviert ist (was ja leider default ist), man über postRaw keine Array Daten abrufen kann. Schuld ist die stripslashes(..) die in Zeile 179 aufgerufen wird.

```
167: /**
168: * Return a $_POST parameter unencoded without stripping tags
169: * `param string
170: * `return mixed
171: */
172: public function postRaw($strKey)
173: {
174: $strCacheKey = 'postRaw';
175:
176: if (

![](isset($this->arrCache[$strCacheKey][$strKey]))
177: {
178: $varValue = $this->findPost($strKey);
179: $varValue = get_magic_quotes_gpc() ? stripslashes($varValue) : $varValue;
180: $varValue = $this->xssClean($varValue);
181:
182: $this->arrCache[$strCacheKey][$strKey] = $varValue;
183: }
184:
185: return $this->arrCache[$strCacheKey][$strKey];
186: }
```

Dadurch wird jedes Array zerstört, weil stripslashes eigentlich einen String erwartet.

Als Lösung könnte man eine rekursive Funktion nutzen:

```
function stripslashes_rec(&$s) {
if (is_array($s)) {
for ($i=0; $i