Hoi allemaal

Ik had een vraag betreffende PHP. Ik had graag in mijn variabele PHP en MySQL verwerkt zonder deze uit te voeren.
<?php
$bloopp = "'; \$_GET['dtrade_id'] = \"$dtrade_id\"; include (\"https://www.bloopp-it.com/dtrade/itemshare.php\";); echo'";
?>
Later, nadat deze in de database is toegevoegd, met $bloopp terug weergegeven worden in een echo:
<?php
echo '<div class="text">'.$bloopp.'</div>';
?>
Is dit haalbaar en zou iemand mij een zetje kunnen geven a.u.b.? Heb verscheidene andere manieren geprobeerd door delen weg te laten, andere aanhalingstekens te gebruiken, echter zonder succesvol resultaat.

Alvast bedankt voor de hulp!
- Sven
Je kan een variabele met een \ escapen zodat hij niet uitgevoerd wordt.


<?php echo "\$lol"; ?>


Ik neem aan dat je dit bedoeld?
Zet je code anders tussen code-tags om het geheel beter leesbaarder te maken.
Bedankt om me te willen helpen!

Niet helemaal, denk ik. Ik heb de code net een beetje aangepast (o.a. al met de backslash). Ik had graag in de variabele bloopp de echo, waarin hij later wordt geplaatst, gestopt (vandaar ';). Dan, inderdaad, zonder de variabele uit te voeren $_GET['dtrade_id'] = \"$dtrade_id\" ; include (\"https://www.bloopp-it.com/dtrade/itemshare.php\";); gevolgd door het tweede deel van de echo (vandaar echo ').
Kijk eens naar eval().
En denk ook eens na of je echt PHP wilt uitvoeren vanuit je database.
Dat lijkt wel een goede oplossing te zijn, eval(), maar ik kan $bloopp niet in de database toevoegen. Hoe komt dit?

Dit is de huidige code:
<?php
$bloopp = "\$_GET['dtrade_id'] = '\$dtrade_id'; include ('https://www.bloopp-it.com/dtrade/itemshare.php');";;

eval("\$bloopp = \"$bloopp\";");
?>
Sven Thijssen op 15/08/2014 00:14:40

maar ik kan $bloopp niet in de database toevoegen. Hoe komt dit?

En waarom niet?

Is het zo niet makkelijker?
<?php
$bloopp = '$_GET["dtrade_id"] = $dtrade_id; include("https://www.bloopp-it.com/dtrade/itemshare.php");';;
?>
En include() met een complete url gaat vast niet werken.
Ja, het werkt feilloos! $bloopp wordt aan de database toegevoegd! Bedankt aan beiden voor jullie hulp!
http://php.net/eval


If eval() is the answer, you're almost certainly asking the
wrong question.
-- Rasmus Lerdorf, BDFL of PHP
Inderdaad, wat Ivo zegt. Wat je nu aan het doen bent, lijkt me niet de juiste weg om te bewandelen.
Mmm, dus ik kan (zoals door -Aar- reeds was vermeld) beter geen PHP in de databse opslaan voor veiligheidsredenen? Ik zag het als enige oplossing om $bloopp variabel te houden, aangezien https://www.bloopp-it.com/dtrade/itemshare.php ook veranderlijk is a.d.h.v. $_GET["dtrade_id"].

Misschien heb ik een sprongetje te ver gemaakt en kan ik best $bloopp niet variabel maken door geen PHP in de databsae te plaatsen?
beschrijving van je risico:

wat als iemand de url weet aan te passen naar

http://evil-hacker.com/aanval.txt

als daarin php code staat, dan wordt dat niet uitgevoerd op evil-hacker.com, maar keurig in jouw script geplaatst.

en ook nog uitgevoerd!

Reageren