|
|
|
JONNY DOVKA'S PGP EXPERIENCE!
OK. Before I begin, YES I did this on an IIS Windows system (my boss doesn't
like Apache for some reason). YES, it uses a non-US form of PGP found at this
web-address (I'm British, but im sure the code can easily be adapted):
--> http://www.pgpi.org/
The below code is similar to the code in the PHP Manual, but there are many small
considerations you'll need to account for before PGP decides it likes you and works.
1. Make sure the path to your PGP directory is in your websystem's path. You
can check this by doing a phpinfo(); and looking under the _ENV['PATH']
key. This is very important, especially if you develop on a network!
2. CHECK what the command line arguments your version of PGP accepts. Here, I'm
using -sfa, -f being the important one (filter allows data through STDIN/STDOUT
to be checked by the PGP binary. -z supplies your password, so make sure you
change that one (no, you don't need the >).
3. $DATA_TO_ENCRYPT is the data you wish to...err, encrypt. The chr(26) is actually
the same as hitting CTRL+Z (^Z) in DOS, which is commonly known as the EOF char.
4. $pgpBuffer is a string that contains the output of the PGP binary. With that, you
can then (for example, as I have done) use it to e-mail someone!
I hope this helps someone. I'm only putting it on here because it was such a pain in
the butt to get working. If it doesn't work, check your paths, consider using chdir()
to fix the problem, and have a look at the output from PGP in error.txt!
~ dovka
|
<?php
$descriptorspec = array(
0 => array("pipe", "r"), // STDIN
1 => array("pipe", "w"), // STDOUT
2 => array("file", "error.txt", "a") // STDERR
);
$proc = proc_open("pgp -sfa -z >", $descriptorspec, $pipes);
stream_set_blocking($pipes[1], false);
stream_set_blocking($pipes[0], false);
fwrite($pipes[0], $DATA_TO_ENCRYPT . "nn" . chr(26) . chr(26));
fclose($pipes[0]);
while(!feof($pipes[1]))
$pgpBuffer .= fgets($pipes[1], 1024);
fclose($pipes[1]);
$return_value = proc_close($proc);
// echo $pgpBuffer;
?> | | |
|
| Protect your email links from being spidered by spam email robots! Categories : PHP, Security, Mail, Email | | | send_mail function to defeat Header Injection Hacking/Spamming Categories : PHP, Email, Form Processing, Security | | | Generating and Matching Secure and Strong Password Hash Categories : PHP, PHP Classes, Cryptography, Security | | | A damaged image generator (class) for validating text.
CAPTCHA - Completely Automated Public Turing test to tell Computers and Humans Apart Categories : PHP, PHP Classes, Security, GD image library, Security | | | Distribute PHP Software Protected by a License Key. Categories : PHP, Cryptography, Security, Software | | | Protect your mailto: email addresses from bots - pure PHP Categories : PHP, Email, Security | | | PHP3: Formmail. Just a cgi formmail, but than in PHP. It is easy to use! Categories : HTML and PHP, Email, PHP, Perl, HTML and PHP | | | phpEasyMail: An easy way to send data from HTML-forms via EMail. Categories : Email, HTML and PHP, Complete Programs, PHP | | | validateEmail 2.0 - upgraded version of the old validateEmail function used to validate email
addresses via SMTP and regex. Categories : Email, Regexps, PHP | | | Broadcast HTML Email Categories : PHP, Email, MySQL, Databases | | | Anti SQL injection-PHP Categories : PHP, MySQL, Security | | | POP3 Class Categories : PHP Classes, PHP, Email | | | email validator check checker email e-mail email address Categories : PHP, Email, Regexps | | | A PHP function to encrypt and decrypt a number or string or a combination of the two. Categories : PHP, Encryption, Security | | | simple script to send emails via a html-form to different users Categories : Email, MySQL, PHP, Databases | |
|
|