wok rev 13154
zerobin: add proxy fix
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Jul 16 11:07:01 2012 +0200 (2012-07-16) |
parents | 2eb82e8dc17d |
children | 37066c566083 |
files | zerobin/stuff/zerobin.u |
line diff
1.1 --- a/zerobin/stuff/zerobin.u Mon Jul 16 10:19:42 2012 +0200 1.2 +++ b/zerobin/stuff/zerobin.u Mon Jul 16 11:07:01 2012 +0200 1.3 @@ -14,3 +14,38 @@ 1.4 var cipherdata = zeroCipher(randomkey,$('textarea#message').val()); 1.5 var data_to_send = { data:cipherdata, 1.6 expire:$('select#pasteExpiration').val(), 1.7 +--- index.php 1.8 ++++ index.php 1.9 +@@ -16,6 +16,13 @@ 1.10 + $_COOKIE = array_map('stripslashes_deep', $_COOKIE); 1.11 + } 1.12 + 1.13 ++function remote_address() 1.14 ++{ 1.15 ++ if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) 1.16 ++ return $_SERVER["HTTP_X_FORWARDED_FOR"]; 1.17 ++ return $_SERVER["REMOTE_ADDR"]; 1.18 ++} 1.19 ++ 1.20 + // trafic_limiter : Make sure the IP address makes at most 1 request every 10 seconds. 1.21 + // Will return false if IP address made a call less than 10 seconds ago. 1.22 + function trafic_limiter_canPass($ip) 1.23 +@@ -136,7 +143,7 @@ 1.24 + } 1.25 + 1.26 + // Make sure last paste from the IP address was more than 10 seconds ago. 1.27 +- if (!trafic_limiter_canPass($_SERVER['REMOTE_ADDR'])) 1.28 ++ if (!trafic_limiter_canPass(remote_address())) 1.29 + { echo json_encode(array('status'=>1,'message'=>'Please wait 10 seconds between each post.')); exit; } 1.30 + 1.31 + // Make sure content is not too big. 1.32 +@@ -191,7 +198,7 @@ 1.33 + // (We assume that if the user did not enter a nickname, he/she wants 1.34 + // to be anonymous and we will not generate the vizhash.) 1.35 + $vz = new vizhash16x16(); 1.36 +- $pngdata = $vz->generate($_SERVER['REMOTE_ADDR']); 1.37 ++ $pngdata = $vz->generate(remote_address()); 1.38 + if ($pngdata!='') $meta['vizhash'] = 'data:image/png;base64,'.base64_encode($pngdata); 1.39 + // Once the avatar is generated, we do not keep the IP address, nor its hash. 1.40 + } 1.41 +