Ben daha sonra merkezi bir db olarak hata günlükleri bir komut dosyası hata verileri (dosya, satır, hata, mesaj vb) şifreler ve (kıvırmak kullanarak) bir POST değişkeni olarak tefrika dizi geçer bir hata işleyicisi komut dosyası yazıyorum.
Benim şifrelemek / tek bir dosyada fonksiyonları ve veri şifreli ve ince deşifre edilir şifresini test ettik:
define('KEY', 'abc');
define('CYPHER', 'blowfish');
define('MODE', 'cfb');
function encrypt($data) {
$td = mcrypt_module_open(CYPHER, '', MODE, '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, KEY, $iv);
$crypttext = mcrypt_generic($td, $data);
mcrypt_generic_deinit($td);
return $iv.$crypttext;
}
function decrypt($data) {
$td = mcrypt_module_open(CYPHER, '', MODE, '');
$ivsize = mcrypt_enc_get_iv_size($td);
$iv = substr($data, 0, $ivsize);
$data = substr($data, $ivsize);
if ($iv)
{
mcrypt_generic_init($td, KEY, $iv);
$data = mdecrypt_generic($td, $data);
}
return $data;
}
echo "<pre>";
$data = md5('');
echo "Data: $data\n";
$e = encrypt($data);
echo "Encrypted: $e\n";
$d = decrypt($e);
echo "Decrypted: $d\n";
Output:
Data: d41d8cd98f00b204e9800998ecf8427e
Encrypted: ê÷#¯KžViiÖŠŒÆÜ,ÑFÕUW£´Œt?†÷>c×åóéè+„N
Decrypted: d41d8cd98f00b204e9800998ecf8427e
Sorun, benim iletim dosyası (tx.php) olarak şifreleme işlevini koyduğunuzda, ve benim recieve dosyası (rx.php) in şifresini, veri tamamen (her iki dosya anahtarı için sabitler aynı kümesine sahip şifresi değil cypher ve mod).
Data before passing: a:4:{s:3:"err";i:1024;s:3:"msg";s:4:"Oops";s:4:"file";s:46:"/Applications/MAMP/htdocs/projects/txrx/tx.php";s:4:"line";i:80;}
Data decrypted: Mª4:{s:3:"err";i:1024@7OYªç`^;g";s:4:"Oops";s:4:"file";sôÔ8F•Ópplications/MAMP/htdocs/projects/txrx/tx.php";s:4:"line";i:80;}
Note the random characters in the middle.
Benim kıvırmak oldukça basittir:
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'data=' . $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
Ben şüpheli şeyler bu neden olabilir:
- Kıvırmak istek Kodlama
- Mcrypt dolgu bayt eksik ile ilgili bir şey
- Ben çok uzun bakıyordu oldum ve gerçekten çok belirgin bir şey kaçırmış
Ben crypt fonksiyonlarını kapatırsanız (yani transfer tx-> rx şifrelenmemiş) veri cezası alınır.
Her türlü çok takdir yardım!
Teşekkürler, Adam