| 1 | <?php if (!defined('BB2_CWD')) die("I said no cheating!"); |
| 2 | |
| 3 | // Bad Behavior browser screener |
| 4 | |
| 5 | function bb2_screener_cookie($settings, $package, $cookie_name, $cookie_value) |
| 6 | { |
| 7 | // FIXME: Set the real cookie |
| 8 | setcookie($cookie_name, $cookie_value, 0, bb2_relative_path()); |
| 9 | } |
| 10 | |
| 11 | function bb2_screener_javascript($settings, $package, $cookie_name, $cookie_value) |
| 12 | { |
| 13 | global $bb2_javascript; |
| 14 | |
| 15 | // FIXME: do something |
| 16 | $bb2_javascript = "<script type=\"text/javascript\"> |
| 17 | <!-- |
| 18 | function bb2_addLoadEvent(func) { |
| 19 | var oldonload = window.onload; |
| 20 | if (typeof window.onload != 'function') { |
| 21 | window.onload = func; |
| 22 | } else { |
| 23 | window.onload = function() { |
| 24 | oldonload(); |
| 25 | func(); |
| 26 | } |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | bb2_addLoadEvent(function() { |
| 31 | for ( i=0; i < document.forms.length; i++ ) { |
| 32 | if (document.forms[i].method == 'post') { |
| 33 | var myElement = document.createElement('input'); |
| 34 | myElement.setAttribute('type', 'hidden'); |
| 35 | myElement.name = '$cookie_name'; |
| 36 | myElement.value = '$cookie_value'; |
| 37 | document.forms[i].appendChild(myElement); |
| 38 | } |
| 39 | } |
| 40 | }); |
| 41 | // --></script> |
| 42 | "; |
| 43 | } |
| 44 | |
| 45 | function bb2_screener($settings, $package) |
| 46 | { |
| 47 | $cookie_name = BB2_COOKIE; |
| 48 | |
| 49 | // Set up a simple cookie |
| 50 | $screener = array(time(), $package['ip']); |
| 51 | if (isset($package['headers_mixed']['X-Forwarded-For'])) { |
| 52 | array_push($screener, $package['headers_mixed']['X-Forwarded-For']); |
| 53 | } |
| 54 | if (isset($package['headers_mixed']['Client-Ip'])) { |
| 55 | array_push($screener, $package['headers_mixed']['Client-Ip']); |
| 56 | } |
| 57 | |
| 58 | $cookie_value = implode(" ", $screener); |
| 59 | |
| 60 | bb2_screener_cookie($settings, $package, BB2_COOKIE, $cookie_value); |
| 61 | bb2_screener_javascript($settings, $package, BB2_COOKIE, $cookie_value); |
| 62 | } |
| 63 | ?> |
| 64 | |