HTTP-Authentifizierung

  • geschlossen

  • jakob2010
  • 1464 Aufrufe 7 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • HTTP-Authentifizierung

    Problem hat sich erledigt - Thread closed


    Hey Leutz,

    ich habe ein Gästebuch-Script, in dem ich die Codeteile der HTTP-Authentifizierung für den Login-Bereich (Admin-Bereich) des Gästebuchs entfernen möchte.
    Also sodass ich auch ohne die Login-Daten eigeben zu müssen, in den Admin-Bereich komme.


    Hier der Code:

    Quellcode

    1. <?php
    2. // #########################
    3. // ### Gästebuch 2.7.0.1 ###
    4. // #########################
    5. // *********************
    6. // *** Einstellungen ***
    7. // *********************
    8. // Titel des Gästebuchs.
    9. $GuestbookTitle = "Mein Gästebuch";
    10. // Style des Gästebuches ("default" entspricht "default.css").
    11. // (Die Stylesheet-Datei sollte an die eigene Seite angepasst werden.)
    12. $GuestbookStyle = "default";
    13. // Relativer Pfad zu der Datei, in der die Daten gespeichert werden.
    14. $DataFile = "guestbook.dat";
    15. // Relativer Pfad zum Verzeichnis, in dem sich die Bilder (space1.gif) befinden.
    16. $ImagesPath = "http://www.freesoft-board.to/images/";
    17. // Relativer Pfad zum Verzeichnis, in dem sich die Smilies befinden.
    18. // Ist kein Pfad angegeben, werden keine Smilies angezeigt.
    19. $SmiliesPath = $ImagesPath."smilies/";
    20. // Anzahl der Beiträge pro Seite.
    21. $PostsPerSite = 10;
    22. // Administration
    23. $AdminLogin = "admin"; // BITTE ÄNDERN!
    24. $AdminPasswd = "password"; // BITTE ÄNDERN!
    25. // Zeigt den Link zur Anmeldung als Administrator an.
    26. $ShowAdminLink = false;
    27. // ############################################################################
    28. define("INTERN_CALL", "1");
    29. $action = substr(GetParam("g_action", "G"), 0, 5);
    30. $entry = substr(GetParam("g_entry", "G"), 0, 14);
    31. $first = intval(substr(GetParam("g_first", "G"), 0, 5));
    32. $send = GetParam("p_send", "P");
    33. $gb_name = GetParam("p_gb_name", "P");
    34. $gb_mail = GetParam("p_gb_mail", "P");
    35. $gb_home = GetParam("p_gb_home", "P");
    36. $gb_text = GetParam("p_gb_text", "P");
    37. if ($action == "login") {
    38. AuthUser();
    39. } else if ($action == "del") {
    40. if ((GetParam("PHP_AUTH_USER", "S") == $AdminLogin) && (GetParam("PHP_AUTH_PW", "S") == $AdminPasswd)) {
    41. DelPosting($DataFile, $entry);
    42. }
    43. }
    44. ?>
    45. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    46. <html>
    47. <head>
    48. <title>Gästebuch</title>
    49. <meta name="title" content="Gästebuch">
    50. <meta name="description" content="Gästebuch">
    51. <meta name="keywords" content="Gästebuch, G&auml;stebuch, Guestbook">
    52. <meta name="author" content="Gaijin, http://www.gaijin.at/">
    53. <meta http-equiv="content-language" content="de-at">
    54. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    55. <link rel="stylesheet" href="<?=$GuestbookStyle?>.css" type="text/css">
    56. <script language="javascript" type="text/javascript">
    57. function InsertMailGB(mailnam,mailsvr) {
    58. document.write('<' + 'a href="mailto:' + mailnam + '@' + mailsvr + '">' + mailnam + '@' + mailsvr + '</' + 'a>');
    59. }
    60. function add_smilie(sn) {
    61. document.guestbook.p_gb_text.value = document.guestbook.p_gb_text.value + sn;
    62. }
    63. </script>
    64. </head>
    65. <body>
    66. <!-- ############################### -->
    67. <!-- ### Hier den Kopf einfügen #### -->
    68. <!-- ############################### -->
    69. <table border="0" cellspacing="0" cellpadding="0" width="620"><tr><td>
    70. <?php
    71. $err_text = "";
    72. if ($action == "post") {
    73. if (strlen($gb_text) > 1000) {
    74. $gb_text = substr($gb_text, 0, 1000)."... (Text wurde gekürzt!)";
    75. }
    76. $gb_name = str_replace(chr(34), "''", $gb_name);
    77. $gb_name = stripslashes($gb_name);
    78. $gb_mail = strtolower(stripslashes($gb_mail));
    79. $gb_home = strtolower(stripslashes($gb_home));
    80. $gb_text = stripslashes(trim($gb_text));
    81. if(trim($gb_name == "")) $err_text .= "Bitte gib Deinen Namen an.<br>";
    82. if(trim($gb_mail != "")) {
    83. if (!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$", $gb_mail))
    84. $err_text.="Bitte gib eine gültige E-Mail-Adresse an (z.B.: vorname.nachname@provider.at).<br>";
    85. }
    86. if(trim($gb_home!="") && trim($gb_home != "http://")) {
    87. if((!ereg("^http:\/\/(.{3,})\.(.{2,})", $gb_home)) || (ereg("\?", $gb_home)))
    88. $err_text .= "Bitte gib eine gültige URL an (z.B.: http://www.seite.at/).<br>";
    89. }
    90. if (trim($gb_text == "")) $err_text .= "Bitte gib einen Text ein.<br>";
    91. }
    92. // ******************************
    93. // *** Neuer Gästebucheintrag ***
    94. // ******************************
    95. if ( ($action=="new") or trim($err_text != "") ) {
    96. echo '<h1>'.$GuestbookTitle.'</h1>'."\n";
    97. echo '<h2>Neuen Gästebucheintrag hinzufügen</h2>'."\n";
    98. if(($send=="1") && trim($err_text!="")) {
    99. echo '<div class="errorbox"><b class="red">Fehler:</b><br>';
    100. echo "$err_text</div>\n";
    101. }
    102. if(trim($gb_home=="") && (!$gb_home)) $gb_home="http://";
    103. ?>
    104. <div class="formbox">
    105. <form action="<?php echo GetParam("PHP_SELF", "S"); ?>?g_action=post" method="post" name="guestbook">
    106. <?php
    107. $gb_name = str_replace("<", "&lt;", $gb_name);
    108. $gb_name = str_replace(">", "&gt;", $gb_name);
    109. $gb_name = str_replace("\"", "&quot;", $gb_name);
    110. $gb_home = ereg_replace("(<|>| |\(|\)|\||\"|\')", "", $gb_home);
    111. $gb_text = str_replace("<", "&lt;", $gb_text);
    112. $gb_text = str_replace(">", "&gt;", $gb_text);
    113. $gb_text = str_replace("\"", "&quot;", $gb_text);
    114. ?>
    115. <table border=0 cellspacing=2 cellpadding=0 width="100%"><tr>
    116. <td valign="top">
    117. <table border=0 cellspacing=2 cellpadding=0 width="100%">
    118. <tr><td nowrap align="right" class="formtext">Dein Name:</td><td nowrap align=right>&nbsp;</td>
    119. <td width="100%"><input type="text" name="p_gb_name" size=50 maxlength=25 value="<?=$gb_name?>"></td></tr>
    120. <tr><td nowrap align="right" class="formtext">Deine E-Mail-Adresse: <span class=red><b>*</b></span></td><td></td>
    121. <td width="100%"><input type="text" name="p_gb_mail" size=50 maxlength=50 value="<?=$gb_mail?>"></td></tr>
    122. <tr><td nowrap align="right" class="formtext">Deine Homepage: <span class=red><b>*</b></span></td><td>&nbsp;</td>
    123. <td width="100%"><input type="text" name="p_gb_home" size=50 maxlength=65 value="<?=$gb_home?>"></td></tr>
    124. <tr><td nowrap align="right" class="formtext">Text:<br><i>(max. 1.000 Zeichen,<br>keine HTML-Tags)</i></td><td></td>
    125. <td width="100%"><textarea cols="50" rows="8" name="p_gb_text"><?=$gb_text?></textarea></td></tr>
    126. <tr><td class="formtext"><span class=red><b>*</b></span><i> = optionale Felder</i></td><td></td><td>
    127. <input type="hidden" value="1" name="p_send">
    128. <input type="submit" value="Senden" name="submit">
    129. <input type="reset" value="Zurücksetzen" name="reset">
    130. </td></tr>
    131. </table>
    132. </td><td>&nbsp;&nbsp;</td><td width="100%" valign=top>
    133. <?php
    134. if($SmiliesPath) {
    135. ?>
    136. <b>SMILIES:</b><br>
    137. <img src="<?=$ImagesPath?>space1.gif" width="1" height="3" alt="" border="0"><br>
    138. <a href="javascript:add_smilie(':_smile_:');"><img src="<?=$SmiliesPath?>smile.gif" border=0 alt=":_smile_:"></a>&nbsp;
    139. <a href="javascript:add_smilie(':_wink_:');"><img src="<?=$SmiliesPath?>wink.gif" border=0 alt=":_wink_:"></a>&nbsp;
    140. <a href="javascript:add_smilie(':_happy_:');"><img src="<?=$SmiliesPath?>happy.gif" border=0 alt=":_happy_:"></a>&nbsp;
    141. <a href="javascript:add_smilie(':_sad_:');"><img src="<?=$SmiliesPath?>sad.gif" border=0 alt=":_sad_:"></a>&nbsp;
    142. <a href="javascript:add_smilie(':_puh_:');"><img src="<?=$SmiliesPath?>puh.gif" border=0 alt=":_puh_:"></a>&nbsp;
    143. <a href="javascript:add_smilie(':_yummie_:');"><img src="<?=$SmiliesPath?>yummie.gif" border=0 alt=":_yummie_:"></a>&nbsp;
    144. <a href="javascript:add_smilie(':_coool_:');"><img src="<?=$SmiliesPath?>coool.gif" border=0 alt=":_coool_:"></a><br>
    145. <a href="javascript:add_smilie(':_pukey_:');"><img src="<?=$SmiliesPath?>pukey.gif" border=0 alt=":_pukey_:"></a>&nbsp;
    146. <a href="javascript:add_smilie(':_devil_:');"><img src="<?=$SmiliesPath?>devil.gif" border=0 alt=">:->"></a>&nbsp;
    147. <a href="javascript:add_smilie(':_frown_:');"><img src="<?=$SmiliesPath?>frown.gif" border=0 alt=":_frown_:"></a>&nbsp;
    148. <a href="javascript:add_smilie(':_redface_:');"><img src="<?=$SmiliesPath?>redface.gif" border=0 alt=":_redface_:"></a>&nbsp;
    149. <a href="javascript:add_smilie(':_clown_:');"><img src="<?=$SmiliesPath?>clown.gif" border=0 alt=":_clown_:"></a>&nbsp;
    150. <a href="javascript:add_smilie(':_cry_:');"><img src="<?=$SmiliesPath?>cry.gif" border=0 alt=":_cry_:"></a>&nbsp;
    151. <a href="javascript:add_smilie(':_idea_:');"><img src="<?=$SmiliesPath?>idea.gif" border=0 alt=":_idea_:"></a><br>
    152. <a href="javascript:add_smilie(':_cwink_:');"><img src="<?=$SmiliesPath?>cwink.gif" border=0 alt=":_cwink_:"></a>&nbsp;
    153. <a href="javascript:add_smilie(':_grrr_:');"><img src="<?=$SmiliesPath?>grrr.gif" border=0 alt=":_grrr_:"></a>&nbsp;
    154. <a href="javascript:add_smilie(':_ill_:');"><img src="<?=$SmiliesPath?>ill.gif" border=0 alt=":_ill_:"></a>&nbsp;
    155. <a href="javascript:add_smilie(':_tooth_:');"><img src="<?=$SmiliesPath?>tooth.gif" border=0 alt=":_tooth_:"></a>&nbsp;
    156. <a href="javascript:add_smilie(':_psycho_:');"><img src="<?=$SmiliesPath?>psycho.gif" border=0 alt=":_psycho_:"></a>&nbsp;
    157. <a href="javascript:add_smilie(':_monster_:');"><img src="<?=$SmiliesPath?>monster.gif" border=0 alt=":_monster_:"></a>&nbsp;
    158. <a href="javascript:add_smilie(':_halt_:');"><img src="<?=$SmiliesPath?>halt.gif" border=0 alt=":_halt_:"></a><br>
    159. <a href="javascript:add_smilie(':_glass_:');"><img src="<?=$SmiliesPath?>glass.gif" border=0 alt=":_glass_:"></a>&nbsp;
    160. <a href="javascript:add_smilie(':_seek_:');"><img src="<?=$SmiliesPath?>seek.gif" border=0 alt=":_seek_:"></a>&nbsp;
    161. <a href="javascript:add_smilie(':_super_:');"><img src="<?=$SmiliesPath?>super.gif" border=0 alt=":_super_:"></a>&nbsp;
    162. <a href="javascript:add_smilie(':_help_:');"><img src="<?=$SmiliesPath?>help.gif" border=0 alt=":_help_:"></a>&nbsp;
    163. <a href="javascript:add_smilie(':_boxer_:');"><img src="<?=$SmiliesPath?>boxer.gif" border=0 alt=":_boxer_:"></a><br>
    164. <a href="javascript:add_smilie(':_dance_:');"><img src="<?=$SmiliesPath?>dance.gif" border=0 alt=":_dance_:"></a>&nbsp;
    165. <a href="javascript:add_smilie(':_alcohol_:');"><img src="<?=$SmiliesPath?>alcohol.gif" border=0 alt=":_alcohol_:"></a><br>
    166. <img src="<?=$ImagesPath?>space1.gif" width="1" height="10" alt="" border="0"><br>
    167. <b>EMOTICONS:</b><br>
    168. <img src="<?=$ImagesPath?>space1.gif" width="1" height="3" alt="" border="0"><br>
    169. <a href="javascript:add_smilie('>:->');"><img src="<?=$SmiliesPath?>evilgrin.png" border=0 alt="Evil grin"></a>
    170. <a href="javascript:add_smilie(':->');"><img src="<?=$SmiliesPath?>grin.png" border=0 alt="Grin"></a>
    171. <a href="javascript:add_smilie(':-)))');"><img src="<?=$SmiliesPath?>happy.png" border=0 alt="Happy"></a>
    172. <a href="javascript:add_smilie(':-)');"><img src="<?=$SmiliesPath?>smile.png" border=0 alt="Smile"></a>
    173. <a href="javascript:add_smilie(':-O');"><img src="<?=$SmiliesPath?>surprised.png" border=0 alt="Surprised"></a>
    174. <a href="javascript:add_smilie(':-P');"><img src="<?=$SmiliesPath?>tongue.png" border=0 alt="Tongue"></a>
    175. <a href="javascript:add_smilie(':-(');"><img src="<?=$SmiliesPath?>unhappy.png" border=0 alt="Unhappy"></a>
    176. <a href="javascript:add_smilie(';-)');"><img src="<?=$SmiliesPath?>wink.png" border=0 alt="Wink"></a><br>
    177. <img src="<?=$ImagesPath?>space1.gif" width="1" height="10" alt="" border="0"><br>
    178. <?php
    179. }
    180. ?>
    181. <b>TAGS:</b><br>
    182. <table border=0 cellspacing=0 cellpadding=0>
    183. <tr><td align="center" class="formtext"><b class="red">:b:</b></td><td align="center" class="formtext">&nbsp;und&nbsp;</td><td align="center" class="formtext"><b class="red">:/b:</b></td><td class="formtext" nowrap>&nbsp;für <b>fett</b></tr>
    184. <tr><td align="center" class="formtext"><b class="red">:i:</b></td><td align="center" class="formtext">&nbsp;und&nbsp;</td><td align="center" class="formtext"><b class="red">:/i:</b></td><td class="formtext" nowrap>&nbsp;für <i>kursiv</i></tr>
    185. <tr><td align="center" class="formtext"><b class="red">:u:</b></td><td align="center" class="formtext">&nbsp;und&nbsp;</td><td align="center" class="formtext"><b class="red">:/u:</b></td><td class="formtext" nowrap>&nbsp;für <u>unterstrichen</u></tr>
    186. </table>
    187. </td>
    188. </tr></table>
    189. </form>
    190. </div>
    191. <?php
    192. echo '<center><span class="buttonborder"><a href="'.GetParam("PHP_SELF", "S").'" class="button">Zurück zum Gästebuch</a></span></center>';
    193. PrintPageBottom();
    194. exit;
    195. }
    196. // **************************
    197. // *** Gästebuch anzeigen ***
    198. // **************************
    199. echo '<h1>'.$GuestbookTitle.'</h1>'."\n";
    200. // *** Wenn Posting "gesendet" wurde und kein Fehlertext ausgegeben wurde ***
    201. if (($send == "1") && trim($err_text == "")) {
    202. $gb_date = date("YmdHis"); // Datum setzen
    203. $m_date = date("d.m.Y, H:i:s"); // Datum für E-Mail-Benachrichtigung
    204. $line = file($DataFile); // Daten in Array einlesen
    205. rsort($line); // Array in umgekehrter Reihenfolgen sortieren
    206. $gb_name = str_replace("<", "&lt;", $gb_name);
    207. $gb_name = str_replace(">", "&gt;", $gb_name);
    208. $gb_name = str_replace("\"", "&quot;", $gb_name);
    209. $gb_name = str_replace("~", "-", $gb_name);
    210. $gb_name = str_replace(" ", " &nbsp;", $gb_name);
    211. $gb_name = strip_tags($gb_name, "<b><i><u><a><img>");
    212. $gb_home = ereg_replace("(<|>| |\(|\)|\||\"|\')", "", $gb_home);
    213. $gb_home = str_replace("~","-", $gb_home);
    214. $gb_home = urlencode($gb_home);
    215. if (trim($gb_home == "http://")) $gb_home = "";
    216. $gb_text = str_replace("<", "&lt;", $gb_text);
    217. $gb_text = str_replace(">", "&gt;", $gb_text);
    218. $gb_text = str_replace("\"", "&quot;", $gb_text);
    219. $gb_text = str_replace("~", "-", $gb_text);
    220. $gb_text = str_replace(" ", " &nbsp;", $gb_text);
    221. $gb_text = str_replace("\r\n", "<br>", $gb_text);
    222. $gb_text = urlencode($gb_text);
    223. $gb_text = strip_tags($gb_text, "<b><i><u><a><img>");
    224. // *** Datei öffnen und mit neuem Eintrag überschreiben ***
    225. $fp = fopen($DataFile, "w");
    226. flock($fp, 2);
    227. fputs($fp, "$gb_date|~#~|$gb_name|~#~|$gb_mail|~#~|$gb_home|~#~|$gb_text".chr(13).chr(10));
    228. // *** Alte Einträge anhängen ***
    229. for($i = 0; $i < count($line); $i++) {
    230. fputs($fp, $line[$i]);
    231. }
    232. flock($fp, 3);
    233. fclose($fp);
    234. echo '<p align="center" class="green"><big><b>Danke für Deinen Eintrag!</b></big></p><br>';
    235. $gb_name = "";
    236. $gb_mail = "";
    237. $gb_home = "";
    238. $gb_text = "";
    239. $send = "";
    240. $err_text = "";
    241. }
    242. echo '<center><span class="buttonborder"><a href="'.GetParam("PHP_SELF", "S").'?g_action=new" class="button">Neuen Gästebucheintrag hinzufügen</a></span></center>';
    243. $line = @file($DataFile);
    244. if ($line) {
    245. // *** Startwert überprüfen und ggf. setzen ***
    246. if ($first < 0) $first = 0;
    247. if ($first > count($line) - 1) $first = count($line) - 1;
    248. // *** Anzahl der Postings/Seite überprüfen und ggf. setzen ***
    249. if ($PostsPerSite > count($line)) $PostsPerSite = count($line);
    250. // *** Postings nach Startwert und Anzahl/Seite anzeigen ***
    251. $c = $first + $PostsPerSite;
    252. if ($c > count($line)) $c = count($line);
    253. echo '<div class="itemsbox">';
    254. for($i = $first; $i < $c; $i++) {
    255. $p = explode("|~#~|", trim($line[$i]), 5);
    256. if((isset($p[0])) && ($i < count($line))) {
    257. PrintPosting(count($line) - $i, $p[1], $p[2], $p[3], $p[0], $p[4]);
    258. if ($i < $c - 1) PrintPostingSpace();
    259. }
    260. }
    261. echo "</div>";
    262. // Navigationslinks generieren
    263. $i = count($line) + $PostsPerSite;
    264. $j = $i;
    265. echo '<div class="pagenavbox"><span class="pagenumbertext">Postings:</span> ';
    266. while ($j > 1) {
    267. // Startwert für Link
    268. $i -= $PostsPerSite;
    269. if ($i < 1) $i = 1;
    270. // Endwert für Link
    271. $j = $i - $PostsPerSite + 1;
    272. if ($j < 1) $j = 1;
    273. // Umgekehrte Reihenfolge der Postings
    274. $k = count($line) - $i;
    275. // Navigationslinks ausgeben
    276. echo '<span style="white-space:nowrap;">';
    277. if($first == $k) {
    278. echo '<span class="pagenumbercurrent">';
    279. if ($i != $j) echo $i."-".$j; else echo $i;
    280. echo '</span>';
    281. }else{
    282. echo '<a href="'.GetParam("PHP_SELF", "S").'?g_first='.$k.'" class="pagenav">';
    283. if ($i != $j) echo $i."-".$j; else echo $i;
    284. echo "</a>";
    285. }
    286. if ($j > 1) echo ' <span class="pagenumberdelim">|</span>';
    287. echo '</span>';
    288. }
    289. echo "</div>";
    290. echo '<center><span class="buttonborder"><a href="'.GetParam("PHP_SELF", "S").'?g_action=new" class="button">Neuen Gästebucheintrag hinzufügen</a></span></center>';
    291. }
    292. if ($ShowAdminLink) {
    293. echo '<p align="center">Administration: <b><a href="'.GetParam("PHP_SELF", "S").'?g_action=login">Login</a></b><p>';
    294. }
    295. PrintPageBottom();
    296. exit;
    297. // ############################################################################
    298. function PrintPosting($PostNo, $PostName, $PostMail, $PostHome, $PostTime, $PostMsg) {
    299. global $ImagesPath, $SmiliesPath;
    300. global $AdminLogin, $AdminPasswd;
    301. $OrigTime = $PostTime;
    302. $PostTime = substr($PostTime,6,2).".".substr($PostTime,4,2).".".substr($PostTime,0,4).", ".substr($PostTime,8,2).":".substr($PostTime,10,2).":".substr($PostTime,12,2);
    303. $PostHome = urldecode($PostHome);
    304. $PostMsg = urldecode($PostMsg);
    305. $PostMsg = stripslashes(trim($PostMsg));
    306. // Smilies ersetzen
    307. if ($SmiliesPath) {
    308. $PostMsg = eregi_replace("(\:\_)(.{1,8})(\_\:)", " <img src=\"".$SmiliesPath."\\2.gif\" border=\"\" alt=\"\\2\"> ", $PostMsg);
    309. $PostMsg = str_replace(":-)))", "<img src=\"".$SmiliesPath."happy.png\" border=\"\" alt=\"Happy\">", $PostMsg);
    310. $PostMsg = str_replace(":)))", "<img src=\"".$SmiliesPath."happy.png\" border=\"\" alt=\"Happy\">", $PostMsg);
    311. $PostMsg = str_replace(":-))", "<img src=\"".$SmiliesPath."grin.png\" border=\"\" alt=\"Grin\">", $PostMsg);
    312. $PostMsg = str_replace(":))", "<img src=\"".$SmiliesPath."grin.png\" border=\"\" alt=\"Grin\">", $PostMsg);
    313. $PostMsg = str_replace(":&gt;", "<img src=\"".$SmiliesPath."grin.png\" border=\"\" alt=\"Grin\">", $PostMsg);
    314. $PostMsg = str_replace(":-&gt;", "<img src=\"".$SmiliesPath."grin.png\" border=\"\" alt=\"Grin\">", $PostMsg);
    315. $PostMsg = str_replace(":-)", "<img src=\"".$SmiliesPath."smile.png\" border=\"\" alt=\"Smile\">", $PostMsg);
    316. $PostMsg = str_replace(":)", "<img src=\"".$SmiliesPath."smile.png\" border=\"\" alt=\"Smile\">", $PostMsg);
    317. $PostMsg = str_replace(";-)", "<img src=\"".$SmiliesPath."wink.png\" border=\"\" alt=\"Wink\">", $PostMsg);
    318. $PostMsg = str_replace(";)", "<img src=\"".$SmiliesPath."wink.png\" border=\"\" alt=\"Wink\">", $PostMsg);
    319. $PostMsg = str_replace(":-(", "<img src=\"".$SmiliesPath."unhappy.png\" border=\"\" alt=\"Unhappy\">", $PostMsg);
    320. $PostMsg = str_replace(":(", "<img src=\"".$SmiliesPath."unhappy.png\" border=\"\" alt=\"Unhappy\">", $PostMsg);
    321. $PostMsg = str_replace("&gt;:-&gt;", "<img src=\"".$SmiliesPath."evilgrin.png\" border=\"\" alt=\"Evil grin\">", $PostMsg);
    322. $PostMsg = str_replace("&gt;:&gt;", "<img src=\"".$SmiliesPath."evilgrin.png\" border=\"\" alt=\"Evil grin\">", $PostMsg);
    323. $PostMsg = str_replace(":-P", "<img src=\"".$SmiliesPath."tongue.png\" border=\"\" alt=\"Tongue\">", $PostMsg);
    324. $PostMsg = str_replace(":-p", "<img src=\"".$SmiliesPath."tongue.png\" border=\"\" alt=\"Tongue\">", $PostMsg);
    325. $PostMsg = str_replace(":P", "<img src=\"".$SmiliesPath."tongue.png\" border=\"\" alt=\"Tongue\">", $PostMsg);
    326. $PostMsg = str_replace(":p", "<img src=\"".$SmiliesPath."tongue.png\" border=\"\" alt=\"Tongue\">", $PostMsg);
    327. $PostMsg = str_replace(":-O", "<img src=\"".$SmiliesPath."surprised.png\" border=\"\" alt=\"Surprised\">", $PostMsg);
    328. $PostMsg = str_replace(":-o", "<img src=\"".$SmiliesPath."surprised.png\" border=\"\" alt=\"Surprised\">", $PostMsg);
    329. $PostMsg = str_replace(":O", "<img src=\"".$SmiliesPath."surprised.png\" border=\"\" alt=\"Surprised\">", $PostMsg);
    330. $PostMsg = str_replace(":o", "<img src=\"".$SmiliesPath."surprised.png\" border=\"\" alt=\"Surprised\">", $PostMsg);
    331. }
    332. // Tags ersetzen
    333. $PostMsg = eregi_replace("(:)(b|\/b)(:)", "<\\2>", $PostMsg);
    334. $PostMsg = eregi_replace("(:)(i|\/i)(:)", "<\\2>", $PostMsg);
    335. $PostMsg = eregi_replace("(:)(u|\/u)(:)", "<\\2>", $PostMsg);
    336. if ($PostMail != "") {
    337. $em = explode("@", $PostMail);
    338. $m = str_replace("@", " [at] ", $PostMail);
    339. $m = str_replace(".", " [dot] ", $m);
    340. $PostMail = "mailto:".$m;
    341. }
    342. if ($PostHome == "http://") $PostHome = "";
    343. include("inc_item.php");
    344. if ((GetParam("PHP_AUTH_USER", "S") == $AdminLogin) && (GetParam("PHP_AUTH_PW", "S") == $AdminPasswd)){
    345. echo '<a href="'.GetParam("PHP_SELF", "S").'?g_action=del&g_entry='.$OrigTime.'" class="admin">Eintrag löschen</a><br>';
    346. }
    347. }
    348. // ############################################################################
    349. function PrintPostingSpace() {
    350. global $ImagesPath;
    351. // HTML-Code der zwischen den Postings ausgegeben wird
    352. }
    353. // ############################################################################
    354. function PrintPageBottom() {
    355. global $ImagesPath;
    356. // Das Entfernen des Copyright-Vermerkes oder des Links, sowie das Unkenntlichmachen
    357. // des Copyright-Vermerkes oder des Links, ist ein Verstoß gegen das Urheberrecht und
    358. // die Lizenzbestimmungen.
    359. // Für weitere Fragen sowie für eine Genehmigung zum Entfernen des Copyright-Vermerks
    360. // wenden Sie sich bitte an <info@gaijin.at>
    361. echo '<p align="center"><b>Copyright &copy; 2004-2008 <a href="http://www.gaijin.at/">www.gaijin.at</a></b></p>'."\n";
    362. echo "</td></tr></table>\n";
    363. echo "\n</body>\n";
    364. echo "</html>\n";
    365. }
    366. // ############################################################################
    367. function DelPosting($DataFile, $entry) {
    368. if (!file_exists($DataFile)) return 0;
    369. $lines = file($DataFile);
    370. @unlink($DataFile);
    371. $fp = fopen($DataFile, "w");
    372. flock($fp, 2);
    373. foreach ($lines as $line){
    374. $l=explode("|~#~|", $line);
    375. if ((chop($line)) && ($l[0] != $entry)) fputs($fp, $line);
    376. }
    377. flock($fp, 3);
    378. fclose($fp);
    379. return 1;
    380. }
    381. // ############################################################################
    382. function GetParam($ParamName, $Method = "P", $DefaultValue = "") {
    383. if ($Method == "P") {
    384. if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
    385. } else if ($Method == "G") {
    386. if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
    387. } else if ($Method == "S") {
    388. if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
    389. }
    390. }
    391. // ############################################################################
    392. function AuthUser() {
    393. global $AdminLogin;
    394. global $AdminPasswd;
    395. if ((GetParam("PHP_AUTH_USER", "S") != $AdminLogin) || (GetParam("PHP_AUTH_PW", "S") != $AdminPasswd)) {
    396. header('WWW-Authenticate: Basic realm="Gaijin Guestbook - Administration"');
    397. header('HTTP/1.0 401 Unauthorized');
    398. echo '<html><head></head><body>Authentifizierung erforderlich!<br><br>';
    399. echo '<a href="guestbook.php">Zurück zum Gästebuch</a><br></body></html>';
    400. exit;
    401. }
    402. }
    403. // ############################################################################
    404. ?>
    Alles anzeigen


    Könnte mir bitte da mal jemand behilflich sein??

    Danke euch ;)


    lg, Jakob
  • jakob2010 schrieb:

    Hey Leutz,

    ich habe ein Gästebuch-Script, in dem ich die Codeteile der HTTP-Authentifizierung für den Login-Bereich (Admin-Bereich) des Gästebuchs entfernen möchte.
    Also sodass ich auch ohne die Login-Daten eigeben zu müssen, in den Admin-Bereich komme.


    Das halte ich für keine gute Idee, aber nun gut wenn Du meinst.

    Der Header für die Abfrage ist hier

    PHP-Quellcode

    1. // ############################################################################
    2. function AuthUser() {
    3. global $AdminLogin;
    4. global $AdminPasswd;
    5. if ((GetParam("PHP_AUTH_USER", "S") != $AdminLogin) || (GetParam("PHP_AUTH_PW", "S") != $AdminPasswd)) {
    6. header('WWW-Authenticate: Basic realm="Gaijin Guestbook - Administration"');
    7. header('HTTP/1.0 401 Unauthorized');
    8. echo '<html><head></head><body>Authentifizierung erforderlich!<br><br>';
    9. echo '<a href="guestbook.php">Zurück zum Gästebuch</a><br></body></html>';
    10. exit;
    11. }
    12. }
    13. // ############################################################################
    Alles anzeigen


    Wenn Du im Script das Änderst sollte es ohne gehen

    PHP-Quellcode

    1. if ($action == "login") {
    2. //AuthUser();
    3. $_SERVER['PHP_AUTH_USER'] = $AdminLogin;
    4. $_SERVER['PHP_AUTH_PW'] = $AdminPasswd;
    5. } else if ($action == "del") {
    6. if ((GetParam("PHP_AUTH_USER", "S") == $AdminLogin) && (GetParam("PHP_AUTH_PW", "S") == $AdminPasswd)) {
    7. DelPosting($DataFile, $entry);
    8. }
    9. }


    Aber wie gesagt ich würde das nicht tun, dann kann ja jeder im Adminbereich spielen wie er will.

    -bronco
  • Sorry, hätte ich evtl. noch erwähnen sollen, warum das ganze...
    Also mein Server unterstützt keine HTTP-Authentifizierung (womit man aber in den Admin-Bereich kommt), deshalb hat mir der Entwickler des Scripts folgendes geraten:
    In würde in den Einstellungen die Variable $ShowAdminLink auf
    FALSE setzen, damit der Admin-Link nicht mehr angezeigt wird.

    In einem eigenen Verzeichnis, das mit .htaccess geschützt wird, kannst
    du eine Kopie des Gästebuch-Scripts ablegen, in dem die Variable
    $ShowAdminLink auf TRUE gesetzt ist. Anschließend entfernst du die
    Codeteile für die Authentifizierung.

    Somit kannst nur du - nach der Authentifizierung per .htaccess - auf
    die Administrationsfunktionen zugreifen.


    Nun habe ich einfach guestbook.php kopiert, also in guestbook_kopie.php und habe darin den Admin-Link auf true gesetzt. Nun wollte ich wie beschrieben "die Codeteile für die Authentifizierung entfernen".
    Danach würde ich es dann mit htaccess schützen.



    Nun habe ich es leider nicht so ganz verstanden, was du mir vorschlägst zu machen @Bronco200. :confused:
    Also ich soll

    PHP-Quellcode

    1. // ############################################################################
    2. function AuthUser() {
    3. global $AdminLogin;
    4. global $AdminPasswd;
    5. if ((GetParam("PHP_AUTH_USER", "S") != $AdminLogin) || (GetParam("PHP_AUTH_PW", "S") != $AdminPasswd)) {
    6. header('WWW-Authenticate: Basic realm="Gaijin Guestbook - Administration"');
    7. header('HTTP/1.0 401 Unauthorized');
    8. echo '<html><head></head><body>Authentifizierung erforderlich!<br><br>';
    9. echo '<a href="guestbook.php">Zurück zum Gästebuch</a><br></body></html>';
    10. exit;
    11. }
    12. }
    13. // ############################################################################
    Alles anzeigen

    mit

    PHP-Quellcode

    1. if ($action == "login") {
    2. //AuthUser();
    3. $_SERVER['PHP_AUTH_USER'] = $AdminLogin;
    4. $_SERVER['PHP_AUTH_PW'] = $AdminPasswd;
    5. } else if ($action == "del") {
    6. if ((GetParam("PHP_AUTH_USER", "S") == $AdminLogin) && (GetParam("PHP_AUTH_PW", "S") == $AdminPasswd)) {
    7. DelPosting($DataFile, $entry);
    8. }
    9. }

    ersetzen???

    Sorry, habs nicht ganz gecheckt.

    Kannst du mir bitte nochmal schreiben, was ich genau löschen soll und was ich mit was ersetzen soll.

    Danke ;)


    lg
  • Hi,

    nicht ganz :)

    Das sind beides Codeteile aus dem Script.
    Das erste ist die Funktion mit Namen AuthUser in der der Header aufgerufen wird.
    Das war nur so als Anhaltspunkt gedacht.

    Der zweite Teil ist der für dich relevante, da ist die Funktion AuthUser auskommentiert und dafür werden die Server Variablen mit den Werten versorgt die im Script benötigt werden.

    Ersetzten musst Du das

    PHP-Quellcode

    1. if ($action == "login") {
    2. AuthUser();
    3. } else if ($action == "del") {
    4. if ((GetParam("PHP_AUTH_USER", "S") == $AdminLogin) && (GetParam("PHP_AUTH_PW", "S") == $AdminPasswd)) {
    5. DelPosting($DataFile, $entry);
    6. }
    7. }


    mit dem

    PHP-Quellcode

    1. if ($action == "login") {
    2. //AuthUser();
    3. $_SERVER['PHP_AUTH_USER'] = $AdminLogin;
    4. $_SERVER['PHP_AUTH_PW'] = $AdminPasswd;
    5. } else if ($action == "del") {
    6. if ((GetParam("PHP_AUTH_USER", "S") == $AdminLogin) && (GetParam("PHP_AUTH_PW", "S") == $AdminPasswd)) {
    7. DelPosting($DataFile, $entry);
    8. }
    9. }


    -bronco
  • Ok, danke für die ausführliche Beschreibung. ;)
    Habs wie von dir beschrieben gemacht, doch es funktioniert leider nicht...
    Hier ist der Link: Gästebuch

    Habs jetzt einfach mal ungeschützt gemacht, damit du es sehen kannst, sind ja noch keine wichtigen Einträge drin ;)

    Man kann zwar auf Login klicken und dann erscheint auch "Eintrag Löschen".
    Aber wenn man darauf klickt, wird der Eintrag nicht gelöscht.

    Außerdem bezweifle ich, dass der gesamte Admin-Bereich nur aus diesen "Löschen"-Buttons besteht. Aber kann ja sein... :rolleyes:
  • Huii........

    Also der eigentliche Wunsch ist ja schon mal erfüllt ;)

    Nur das wird jetzt Debugging mit Remoteanleitung.

    Naja egal.

    Nimm das mal um z sehen ob er das gemacht hat was ich wollte.

    PHP-Quellcode

    1. if ($action == "login") {
    2. //AuthUser();
    3. $_SERVER['PHP_AUTH_USER'] = $AdminLogin;
    4. $_SERVER['PHP_AUTH_PW'] = $AdminPasswd;
    5. } else if ($action == "del") {
    6. echo "<SCRIPT type=\"text/javascript\">alert(<?= GetParam("PHP_AUTH_USER", "S")?>);</SCRIPT>
    7. if ((GetParam("PHP_AUTH_USER", "S") == $AdminLogin) && (GetParam("PHP_AUTH_PW", "S") == $AdminPasswd)) {
    8. DelPosting($DataFile, $entry);
    9. }
    10. }


    Da sollte jetzt eine Javascript Alert kommen, in denm der Benutzer steht.

    -bronco