Autor | Zpráva | ||
---|---|---|---|
Carter Profil * |
#1 · Zasláno: 17. 1. 2009, 16:08:42
Zdravim! Nejsem moc znalý v PHP proto bych protřeboval pomoci: Mám zpracovaný výstup z formuláře a potřeboval bych ho zapsat do souboru
<?php $vysledek = ($jmeno); $vysledek2 = ($ip); $soubor = fopen("test3.php", "a"); fwrite($soubor, "xxx"); fclose($soubor); ?> kde je xxx bych potřeboval vložit: elseif (substr($REMOTE_ADDR,-15) == "$ip") { $ip = "$jmeno"; } akorát na místo $ip a $jmeno Takže v test3.php bude vloženo například: elseif (substr($REMOTE_ADDR,-15) == "123456") { $ip = "Carter"; } |
||
imploder Profil |
#2 · Zasláno: 17. 1. 2009, 17:42:23 · Upravil/a: imploder
fwrite($soubor, 'elseif (substr($REMOTE_ADDR,-15) == "'.$ip.'") { $ip = "'.$jmeno.'"; }")'; Pro vysvětlení: - operátor tečka (".") slouží ke spojování řetězců - v řetězcích uzavřených do apostrofů je možné používat neescapované uvozovky a znaky dolaru (tedy za $ip se opravdu vloží $ip a ne hodnota té proměnné; do řetězce v uvozovkách by se naproti tomu vložila hodnota) A varování: generování PHP skriptu podle vstupu je potenciálně velice nebezpečné. Nedokonale ošetřeným vstupem může útočník snadno podstrčit kód, jaký se mu zlíbí, a ten se potom provede. K použití něčeho takového by měl být velmi dobrý důvod a vstupy v takovém případě musí všechny být pečlivě ošetřené. Pokud s PHP začínáš, raději se do toho nepouštěj. |
||
Časová prodleva: 15 let
|
0