diff options
author | yvesf <yvesf-git@xapek.org> | 2011-03-29 15:03:26 +0200 |
---|---|---|
committer | yvesf <yvesf-git@xapek.org> | 2011-03-29 15:03:26 +0200 |
commit | 12fe9c56af8a6562ee9c90a341a992a4c4ff5805 (patch) | |
tree | 4f508e08ba248fa767e346993542caffc77caf18 /src/site | |
parent | 719c7b231cfc73201abab59ef38983c68ae5f6af (diff) | |
download | dhbw-calendar-12fe9c56af8a6562ee9c90a341a992a4c4ff5805.tar.gz dhbw-calendar-12fe9c56af8a6562ee9c90a341a992a4c4ff5805.zip |
ssl-anleitung und php-proxy
Diffstat (limited to 'src/site')
-rw-r--r-- | src/site/resources/ics.php.txt | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/site/resources/ics.php.txt b/src/site/resources/ics.php.txt new file mode 100644 index 0000000..db4140b --- /dev/null +++ b/src/site/resources/ics.php.txt @@ -0,0 +1,62 @@ +<?php +/* + ics.php "reverse-proxy" + Copyright (C) 2011 Yves Fischer (i08005) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + + +$proxy_url = "https://dualical.ba-horb.de:8443/dhbwcalendar/ics"; +$curl_handler = curl_init($proxy_url); + +curl_setopt($curl_handler, CURLOPT_RETURNTRANSFER, true); +curl_setopt($curl_handler, CURLOPT_BINARYTRANSFER, true); +curl_setopt($curl_handler, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); +curl_setopt($curl_handler, CURLOPT_WRITEFUNCTION, 'readResponse'); +curl_setopt($curl_handler, CURLOPT_HEADERFUNCTION, 'readHeaders'); +curl_setopt($curl_handler, CURLOPT_SSLVERSION, 3); +curl_setopt($curl_handler, CURLOPT_CAINFO, getcwd() . "/ics_certificate.pem"); +curl_setopt($curl_handler, CURLOPT_SSL_VERIFYPEER, 1); +curl_setopt($curl_handler, CURLOPT_VERBOSE, 0); + +function readResponse(&$curl, $string) { + echo $string; + return strlen($string); +} + +function readHeaders(&$curl, $string) { + $length = strlen($string); + if ($string !== "\r\n") { + header(rtrim($string)); + } + return $length; +} + +$headers = apache_request_headers(); +$client_headers = array(); +foreach ($headers as $header => $value) { + switch($header) { + case 'Host': + break; + default: + $client_headers[] = sprintf('%s: %s', $header, $value); + break; + } +} + +curl_setopt($curl_handler, CURLOPT_HTTPHEADER, $client_headers); +curl_exec($curl_handler); +//echo print_r(curl_getinfo($curl_handler), true); +?> |