KORÁBBI CIKKEK
CÍMKEFELHŐ
RAID
software raid
smarty
template
JSON
javascript
data-changing
MVC
design pattern
autoload
svn
ubuntu
apache
subversion
dav
php5
memcache
memcached
load
caching
files
post
cheat
php
no multipart
backup
tgz
server
sh
bash
mysql
dump
mysqldump
cli
daemon
PEAR
system_daemon
directadmin
magyarosítás
DA
enhanced
open source
nyílt forrás
közösség
Neelie Kroes
importance of communities
general
protection
general protection
segmentation
fault
segmentation fault
július 4 14:19:04, 2009
A minap egy fura ötletbe, megoldásba futottam, egy php fájlra való post-olás közben. Mit ad isten, a feladat az volt, hogy multipart encode-olatlan fájlt küldjünk egy php fájlnak. Volt némi meglepetésben részem, ha kíváncsi vagy, olvass tovább.
Akkor néhány szót a környezetről. Symbian S60 operációs rendszerre írt program, egy fájlt és némi adatot küldött GET-ben egy php fájlnak. Valahogy így nézett ki: upload.php?adat1=ertek1&adat1=ertek2=adat2. A GET-ben küldött adatokkal természetesen nem volt gond, a szokott módon kezeltem.Azonban a küldött encode-olatlan fájl bináris adat volt, melyet a POST változó tartalmazott, de nem a megszokott érték-kulcs formában, és nem is pontosan azt tartalmazta amit az S60 küldött.
A küldött fájlt sorról-sorra felolvasva, és a POST válzónak értékül adva továbbította a telefon. Mielőtt azonban php oldalon a POST felöltődött volna, a speciális karaktereket a php eltávolította. A POST adatot fájlba írtam és az így kapott fájl természetesen már nem az volt amit kapni szerettem volna.
Böngészgettem hát, hogy hogyan kaphatnám meg a POST értéket abban a formában, ahogy azt az S60 küldi. Egy fura megoldásra találtam, amit magamtól soha ki nem találtam volna.
A változatlan raw POST data kiolvasása a következős sor segítségével lehetséges:
$raw_post_data = file_get_contents("php://input");
Ez volt a cheat kódex sorozat első része...
HOZZÁSZÓLÁS, VÉLEMÉNYEK