Kirjoittaja Aihe: wget --post-data ja omituisuus  (Luettu 2449 kertaa)

Mistofelees

  • Käyttäjä
  • Viestejä: 663
    • Profiili
wget --post-data ja omituisuus
« : 15.06.16 - klo:16.53 »
Kokeilin lähettää dataa palvelimelle komennolla
wget  -r -N --post-data="mj=barbaari" http://palvelin/actionpage.php

Vastapäässä on html-sivu:
<?php
$MERKKIJONO = $_POST['mj'];
file_put_contents("nimi.txt",$MERKKIJONO,FILE_APPEND);
?>

html-sivu tallentaa kaiken saapuvan datan samalle riville.
Saadakseni datat omille riveilleen, lisään tuonne yhden rivinvaihdon:
file_put_contents("nimi.txt",$MERKKIJONO."\n",FILE_APPEND);

Tuloksena on yllättäen kaksi rivinvaihtoa, vaikka pyysin vain yhden.
Jos merkkijonon ympärille petaa lisämerkit, näyttää, kuin tuo rivinsiirto aiheuttaisi ylimääräisen näkymättömän merkin generoitumisen:
file_put_contents("nimi.txt","<".$MERKKIJONO.">\n",FILE_APPEND);
Tuloksena nimi.txt -tiedosto:

<>
<barbaari>
<>
<barbaari>

Olen yrittänyt filtrata tuota lisämerkkiä, mutta esim hexdump ei näytä tuossa hakasten välissä mitään merkkiä.
Tuo "<>" rivi on heksana" 3c 3e 0a "
Mitä ihmettä ja miten tuosta toisesta rivinvaihdosta pääsisi eroon ?

Tämä ei ole iso ongelma. Käytännössä teen tiedon siirron SCP:llä. Tämä vaan tuli kokeiluissa vastaan. Wget olisi ollut kätevä temppu lähettää dataa.