function make_packet($dir, $pid, $fd, $args, $size) { global $S; global $T; global $I; $pkt = array(); $pkt["payload"] = get_payload($args); $pkt["size"] = $size; if ($S[$fd] == "tcp") { $pkt["istcp"] = 1; $pkt["tcpseq"] = ++$T[$fd][$dir]; } else { $pkt["istcp"] = 0; $pkt["tcpseq"] = 0; } if ($dir == "out") { /* out: write, send, sendto */ $dst = get_addr($args); if (!$dst[1]) { $dst = $I[$fd]["dst"]; } if (!$dst[1]) { $dst = makeup_addr($pid, $fd); } $src = $I[$fd]["src"]; if (!$src[1]) { $src = makeup_addr($pid, $fd); } } else { /* in: read, recv, recvfrom */ $src = get_addr($args); if (!$src[1]) { $src = $I[$fd]["dst"]; } if (!$src[1]) { $src = makeup_addr($pid, $fd); } $dst = $I[$fd]["src"]; if (!$dst[1]) { $dst = makeup_addr($pid, $fd); } } $pkt["srcip"] = $src[0]; $pkt["srcport"] = $src[1]; $pkt["dstip"] = $dst[0]; $pkt["dstport"] = $dst[1]; return $pkt; }
<?php $ts = microtime(true); $config = (require __DIR__ . '/config.php'); require_once __DIR__ . '/lib.php'; $payload = get_payload(); $access_log = date('Y-m-d H:i:s') . PHP_EOL . 'GET: ' . print_r($_GET, 1) . PHP_EOL . 'POST: ' . print_r($_POST, 1) . PHP_EOL . 'SERVER: ' . print_r($_SERVER, 1) . PHP_EOL . 'PAYLOAD: ' . print_r($payload, 1) . PHP_EOL; _log($access_log, __DIR__ . '/log/access.log'); !$payload && exit(_404()); $provider = get_git_provider(); !$provider && exit(_404()); $app_conf = get_app_conf($config); !$app_conf && exit(_403()); $path = rtrim($app_conf['path'], '/') . '/'; if ($provider === 'github') { // Github API v3 // https://developer.github.com/v3/activity/events/types/#pushevent // // you should put deploy keys inside /var/www/.ssh/id_rsa // also verify if user www-data has access to private repo: // sudo -u www-data ssh -T git@github.com // $event = strtolower($_SERVER['HTTP_X_GITHUB_EVENT']); if (in_array($event, array('create', 'push'))) { $clone_url = $payload['repository'][$app_conf['is_private'] ? 'ssh_url' : 'clone_url']; $ref = $payload['ref']; $git_hash = $payload['head_commit']['id']; if ($clone_url && $ref) { $ok = deploy_git($ref, $path, $clone_url, $app_conf); } !$ok && _503();
<?php include_once '10/functions.php'; $token = $_GET['token']; $t = generate_token(); printf("%d", $t); if ($token == $t) { $dada = get_payload(); echo "<html><body> Hello World {$dada}</body></html>"; } else { echo "<html><body> Hello World</body></html>"; } ?>
function bitbucket_get_app_conf($config) { $raw_payload = get_payload($raw = true); if (!$raw_payload) { return false; } $webhook_id = get_webhook_id(); if (!preg_match('~^[a-z0-9]{32}$~ims', $webhook_id) || !isset($config['webhooks'][$webhook_id])) { _log('404: wrong webhook'); return false; } $headers = getallheaders(); $webhook_conf = $config['webhooks'][$webhook_id]; $secret = $webhook_conf['secret']; if (!bitbucket_validate_payload($raw_payload, $headers, $secret)) { _log('403: secret not valid'); return false; } if (!isset($webhook_conf['app']) || !isset($config['apps'][$webhook_conf['app']])) { _log('404: no such app'); return false; } return $config['apps'][$webhook_conf['app']] + array('name' => $webhook_conf['app']); }