Please Cc: me with responses. I dunno how soon I'll be able to read php-general again...
Short version: If a program doesn't take data from stdin, and you want to get data to it more securely than writing it to a file, is there some combination of exec/popen and/or Un*x redirection <|> that will get the data to go from PHP to the program, without hitting disk, and without being in "ps -auxwwww" output? I *KNOW* I can do it with popen if it would just take data on stdin like any normal Un*x program. :-( :-( :-( I tried in the shell to use < and > and whatnot, but it didn't seem to like that... Does popen add any inherent ability to shove data to it via <|>, even if it's expecting a file?... How? Did I just not get the right magical combination of <|>? I grok | okay, and even >, but as soon as you start using <, I get lost for some reason... Long version: Suppose, hypothetically speaking, the following: Vendor provides a binary for talking to their credit-card processing center. Vendor provides PHP API script for accessing above binary. Said script boils down to this algorithm: Dump credit card info into $TEMP file. exec("binary ALLSTDIN $TEMP"); unlink($TEMP); Now, granted, this is on an SSL server, and there shouldn't be any random users with access, and the files in question are being done via suExec, so it's not like they are world-readable... But *STILL*, I'm concerned about files sitting around on the hard drive with cc#s in them. What if somebody *DOES* break in and gets the suExec users's password somehow? What if they find and start reading those files? What if they don't get as far as that user's password, but they start resurrecting recently unallocated blocks from the hard drive? I just don't like the idea of storing credit card numbers on my web-site's hard drive, no matter how briefly. (And when their server is down or slow, it ain't gonna be all that brief...) Now I know that you can convert to popen() if the binary in question will take data from stdin. But the binary in question does not, at least from my lame attempts in a command shell. OTOH maybe that ALLSTDIN arg needs to change to something else to use stdin instead of a file... Though I would expect ALLSTDIN would be the keyword for data to come on stdin, not from a file, so I can't even *begin* to guess what keyword means ALLSTDINEVENTHECREDITCARDNUMBER... I've already emailed the vendor, but I'd just as soon patch their PHP API software as wait for their response, if there's some combination that works and doesn't just move the exposure to "ps auxwww" instead of the hard drive. They've got 200-page manuals about their API and their product and everything else that's not rocket-science, but nothing I can find about the actual binary and --help and -h don't put out usage prompts or anything standard like that :-( I even tried to run "strings" on it, in the hope of finding some nugget of info, but it wasn't particularly useful to somebody as dumb as me. I have had luck in the past with "strings" printing out the help itself (along with a lot of other crap) so I guess I'm not totally stupid to figure that one out, but no go this time. -- WARNING [EMAIL PROTECTED] email address is an endangered species Use [EMAIL PROTECTED] instead -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]