[3.1.x] Eigen Gebaute PHP seite mit phpbb schützen
Verfasst: 04.08.2016 15:04
Hallo liebe Communty 
Ich verzweifle langsam, ich hab ne php seite gebaut zum auslesen für ein onlineSpiel und möchte das dieses nur meine mitglieder lesen können.
Ich hab es zz mit der ext. Page eingebunden mit Iframe, da der php code ja leider nicht in page funktioniert (nur HTML). Es ist zwar geschützt, allerdings wer den link der original seite hat kann diese unbegrenzt auslesen.
Hab auch schon versucht den code einzubinden den man auf den hilfe seite findet, allerdings ohne erfolg.
Kann mir irgendjemand verraten wie ich diesen PHP code mit phpbb schützen kann?
Ich bin über jede hilfe sehr dankbar

Ich verzweifle langsam, ich hab ne php seite gebaut zum auslesen für ein onlineSpiel und möchte das dieses nur meine mitglieder lesen können.
Ich hab es zz mit der ext. Page eingebunden mit Iframe, da der php code ja leider nicht in page funktioniert (nur HTML). Es ist zwar geschützt, allerdings wer den link der original seite hat kann diese unbegrenzt auslesen.
Hab auch schon versucht den code einzubinden den man auf den hilfe seite findet, allerdings ohne erfolg.
Kann mir irgendjemand verraten wie ich diesen PHP code mit phpbb schützen kann?
Code: Alles auswählen
<!DOCTYPE html>
<html lang="de">
<head>
<title>Auswertung</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<link rel="stylesheet" href="http://www.deutschehelden.de/janule/css/dataTables.bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="http://www.deutschehelden.de/janule/js/jquery.dataTables.min.js"></script>
<script src="http://www.deutschehelden.de/janule/js/dataTables.bootstrap.min.js"></script>
<script type="text/javascript" class="init">
$(document).ready(function() {
$('#example1, #example2, #example3, #example4, #example5, #example6, #example7, #example8, #example9, #example10, #example11').DataTable();
} );
function refreshGuildInfo()
{
//daten aktualisieren lassen
var xhttpr = new XMLHttpRequest();
xhttpr.open('get', 'getGuildInfo.php');
xhttpr.onreadystatechange = function ()
{
if (xhttpr.readyState == 4 && xhttpr.status == 200)
{
// neuen content parsen lassen und holen
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var result = $.parseJSON(xmlhttp.responseText);
// divs neu befuellen
$.each(result, function(key, value) {
document.getElementById(key).innerHTML = value;
});
// tables wieder sortierbar machen
$('#example1, #example2, #example3, #example4').DataTable();
}
};
xmlhttp.open("GET", "getRefreshedDivs.php", true);
xmlhttp.send();
}
}
xhttpr.send(null);
}
//zeile ein-/auskommentieren um automatischen refresh zu aktivieren/deaktivieren
//setInterval(function(){refreshGuildInfo()},30000); //daten alle 30s abholen
</script>
</head>
<body style="background:#2E2E2E"> <font color=white>
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home">Aktualisieren</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Raid <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a data-toggle="tab" href="#raiddh1">DH1</a></li>
<li><a data-toggle="tab" href="#raiddh2">DH2</a></li>
</ul>
</li>
<!--
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Conquest <span class="caret"></span></a>
<ul class="dropdown-menu">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Conquest Rankings <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a data-toggle="tab" href="#conquestdh1">DH1</a></li>
<li><a data-toggle="tab" href="#conquestdh2">DH2</a></li>
</ul>
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Conquest Member <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a data-toggle="tab" href="#conquestmemberdh1">DH1</a></li>
<li><a data-toggle="tab" href="#conquestmemberdh2">DH2</a></li>
</ul>
</li>
-->
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Conquest Rankings <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a data-toggle="tab" href="#conquestdh1">DH1</a></li>
<li><a data-toggle="tab" href="#conquestdh2">DH2</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Conquest Member <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a data-toggle="tab" href="#conquestmemberdh1">DH1</a></li>
<li><a data-toggle="tab" href="#conquestmemberdh2">DH2</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Guildwar <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a data-toggle="tab" href="#wardh1">DH1</a></li>
<li><a data-toggle="tab" href="#wardh2">DH2</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Guild Quest <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a data-toggle="tab" href="#guildquestdh1">DH1</a></li>
<li><a data-toggle="tab" href="#guildquestdh2">DH2</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Guild Infos <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a data-toggle="tab" href="#guildinfosdh1">DH1</a></li>
<li><a data-toggle="tab" href="#guildinfosdh2">DH2</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Gildenmember <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a data-toggle="tab" href="#memberdh1">DH1</a></li>
<li><a data-toggle="tab" href="#memberdh2">DH2</a></li>
<li><a data-toggle="tab" href="#memberUnknown">Unbekannte Member</a></li>
</ul>
</li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<form onsubmit="location.reload();">
<p></p>
<p></p>
<p class="text-center">
<img alt="" height="176" src="http://www.deutschehelden.de/bilder/extern/logoheldendaten.png" width="320"></p>
<p><center><input type="submit" value="Werte Aktualisieren" class="btn btn-danger btn-lg" title="Daten Reload, geht auch mit F5"></center></p>
</form>
</div>
<?php
include 'janule/getGuildInfo.php';
include 'janule/formatJson.php';
include 'janule/richMemberData.php';
function recursivePrint($itemInit, $spaces)
{
$content = "";
foreach($itemInit as $key => $item)
{
if (is_array($item))
{
$content.= $spaces . $key . "<br />";
$content.= recursivePrint($item, ($spaces . " "));
}
else if (is_object($item))
{
$content.= $spaces . $key . "<br />";
$content.= recursivePrint($item, ($spaces . " "));
}
else
{
$content.= $spaces . $key . " : " . $item . "<br />";
}
}
return $content;
}
function printFile($data, $kuerzel, $richMemberData)
{
$content = "";
$dataAsJson = json_decode($data);
// Raid Tab fuellen
$content.= "<div id=\"raid" . $kuerzel . "\" class=\"tab-pane fade\">" . "\n";
$content.= "<p>" . "\n";
$jsonRoot = $dataAsJson->raid_info;
if ($jsonRoot)
{
$content.= printMainRaidInfos($jsonRoot, $richMemberData) . "\n";
}
else
{
$content.= "Aktuell keine Informationen vorhanden<br />" . "\n";
}
$content.= "</p>" . "\n";
$content.= "</div>" . "\n" . "\n";
// Conquest Rankings Tab fuellen
$content.= "<div id=\"conquest" . $kuerzel . "\" class=\"tab-pane fade\">" . "\n";
$content.= "<p>" . "\n";
$jsonRoot = $dataAsJson->conquest_data;
$jsoncqleaderboard = $dataAsJson->conquest_leaderboard;
if ($jsonRoot && $jsoncqleaderboard)
{
$content.= printMainConquestData($jsonRoot, $jsoncqleaderboard) . "\n";
}
else
{
$content.= "Aktuell keine Informationen vorhanden<br />" . "\n";
}
$content.= "</p>" . "\n";
$content.= "</div>" . "\n" . "\n";
// Conquest Member Tab fuellen
$content.= "<div id=\"conquestmember" . $kuerzel . "\" class=\"tab-pane fade\">" . "\n";
$content.= "<p>" . "\n";
$jsoncqmember = $dataAsJson->conquest_zone_data;
$jsoncqleaderboard = $dataAsJson->conquest_leaderboard;
if ($jsoncqmember && $jsoncqleaderboard)
{
$content.= printConquestMemberInfluence($jsoncqmember, $jsoncqleaderboard) . "\n";
}
else
{
$content.= "Aktuell keine Informationen vorhanden<br />" . "\n";
}
$content.= "</p>" . "\n";
$content.= "</div>" . "\n" . "\n";
// War Tab fuellen
$content.= "<div id=\"war" . $kuerzel . "\" class=\"tab-pane fade\">" . "\n";
$content.= "<p>" . "\n";
$jsonRoot = $dataAsJson->api_faction_getWarInfos;
$jsonFactionRoot = $dataAsJson->faction;
if ($jsonRoot)
{
$content.= printGuildwar($jsonRoot, $jsonFactionRoot) . "\n";
}
else
{
$content.= "Aktuell keine Informationen vorhanden<br />" . "\n";
}
$content.= "</p>" . "\n";
$content.= "</div>" . "\n" . "\n";
// Gilden Quest Tab fuellen
$content.= "<div id=\"guildquest" . $kuerzel . "\" class=\"tab-pane fade\">" . "\n";
$content.= "<p>" . "\n";
$jsonRoot = $dataAsJson->faction_quests;
if ($jsonRoot)
{
$content.= printMainGuildQuest($jsonRoot) . "\n";
}
else
{
$content.= "Aktuell keine Informationen vorhanden<br />" . "\n";
}
$content.= "</p>" . "\n";
$content.= "</div>" . "\n" . "\n";
// Gilden Infos Tab fuellen
$content.= "<div id=\"guildinfos" . $kuerzel . "\" class=\"tab-pane fade\">" . "\n";
$content.= "<p>" . "\n";
$jsonRoot = $dataAsJson->faction;
if ($jsonRoot)
{
$content.= printMainGuildInfos($jsonRoot) . "\n";
}
else
{
$content.= "Aktuell keine Informationen vorhanden<br />" . "\n";
}
$content.= "</p>" . "\n";
$content.= "</div>" . "\n" . "\n";
// Gilden Members Tab fuellen
$content.= "<div id=\"member" . $kuerzel . "\" class=\"tab-pane fade\">" . "\n";
$content.= "<p>" . "\n";
if ($richMemberData)
{
$content.= printTableMembers($richMemberData) . "\n";
}
else
{
$content.= "Aktuell keine Informationen vorhanden<br />" . "\n";
}
$content.= "</p>" . "\n";
$content.= "</div>" . "\n" . "\n";
return $content;
}
function printUnknownForumMembers($richMemberData)
{
$content= "<div align=\"center\" id=\"memberUnknown" . "\" class=\"tab-pane fade\">" . "\n";
$content.= "<p>" . "\n";
$unknown = $richMemberData->getUnknown();
if ($unknown)
{
$content.= "Folgende Mitglieder aus dem Forum konnten keine Online Gildenmitgliedern zugeordnet werden.<br />" . "\n";
$content.= "Entweder weil Sie momentan nicht in einer der beiden Gilden sind oder weil Ihr ingame Name nicht mit dem Forum Namen uebereinstimmen.<br /><br />" . "\n";
foreach($unknown as $member)
{
$content.= $member->getName() . "<br />" . "\n";
}
}
else
{
$content.= "Es konnten alle Forumsmitglieder zugeordnet werden.<br />" . "\n";
}
$content.= "</p>" . "\n";
$content.= "</div>" . "\n" . "\n";
return $content;
}
// content generieren
$apiDH1 = downloadAPIsDH1();
$apiDH2 = downloadAPIsDH2();
$dbdata = include 'fetchUserData.php';
$richMemberData = new RichMemberData($dbdata, $apiDH1, $apiDH2);
echo printFile($apiDH1, "dh1", $richMemberData->getDh1());
echo printFile($apiDH2, "dh2", $richMemberData->getDh2());
echo printUnknownForumMembers($richMemberData);
?>
</div> </font>
</body>
</html>