PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Newsscript



NPC Fighter
09.01.2005, 17:20
Hi. Gibt es vielleicht irgendein Tut (der könnt ihr mir vielleicht helfen), in dem geschildert wird, wie ich es schaffe, ein Newsscript einzubauen.

Danke im Voraus und liebe Grüße: NPC

Blakkeight
09.01.2005, 17:26
kommt darauf an ob es mit datein oder mit mysql laufen soll!
ich weiß ja nicht was dir lieber ist oder was du kannst!

dadie
09.01.2005, 17:26
Einbauen oder Selber bauen ?

Bei selber Bauen Mit einer SQl Datenbank oder einer Eigenen Datenbank* ?

*damit meine ich txt files die sich gut als Datenabnk ersätz eigenen und sie funkonieren vom Prinzip genau so wie DBs darum sehe ich sie als Daten Bank an.

Naja egal also das erste was man tuhn sollte währe festlegen was soll drin sein


hier z.b. ein beispiel



++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Üeberschrifft Datum+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Text +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Manni
09.01.2005, 17:26
Bitteschön ;)

Newsscript-Tut (http://tut.php-q.net/newsscript.html)

NPC Fighter
09.01.2005, 17:36
Oh, dankeschön. Kann ich gut gebrauchen. Mal sehen wie ichs mach. Eins zum Einbauen wär auch nicht schlecht. Wenn ihr nen entsprechenden Link habt, immer her damit :D

dead_orc
09.01.2005, 20:15
Naja, ich habe kein fertiges zum Einbauen, aber ich könnte dir bei Bedarf meines schicken.

@dadie: Für datenbankartige Textdateien eignen sich IMO XML-Dateien am besten: Lassen sich prima mit PHP parsen, sind genau wie HTML aufgebaut und erlauben alle Zeichen außer < und >!

Dai2kMaster
10.01.2005, 15:19
Also ich habs jetzt nach 4 Wochen unendlichem Probieren dank SelfPHP ein Newsscript auf die Beine mit MySQL gestellt. Im Prinzip is das total einfach. Bei mir gings aber nur so gut, weil ich für die MySQL-Verbindung ne Vorlage genommen hab (n kleines PHP/MySQL Guestbook ;) ). Schließlich habe ichs hinbekommen dadurch ein fast vollständiges Newsscript zu erstellen. Mir fehlt lediglich der Schutz des Adminbereichs. Aber dafür fehlen mir noch die phpsession Kenntnisse, die ich mir mal in der nächsten Zeit genauer anschau.. und dann geht des schon.. ;) denk ich mal.

Orkkrieger
10.01.2005, 16:22
schutz des admin bereichs sollte eigentlich nich so schwer sein...hab gerade ein relativ simples passwortscript geschrieben...:

3 datein sind von nöten:

userconfig.inc.php



<?php

$username = "username";
$password = "passwort";

?>

passwortschutz.php



<?php

include ('userconfig.inc.php');

if (($_POST['login_name'] == $username) AND ($_POST['login_pw'] == $password))
{
echo "<a href=\"linkzumadminbereich\">Hier gehts lang</a>";
}
else
{
echo "Ihre Angaben sind unvollständig oder falsch. Bitte versuchen sie es noch einmal";
echo "<meta http-equiv='refresh' content='5; URL=...'>";
}
?>

und die passwort.htm



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Passwortschutz</title>
</head>

<body style="background-color:#CCCCCC;">
<p align="center">
<form method="post" action="passwortschutz.php">
<input type="text" name="login_name">
<input type="text" name="login_pw">
<input type="submit">
</form>
</p>

</body>
</html>


hoffe das kann helfen...is zwar nur ein schutz der seite, das heisst es kann keiner auf die adminseite zugreifen, ohne dass er das pw hat, aber immerhin ein schutz^^

dadie
10.01.2005, 16:28
<?php

include ('userconfig.inc.php');

if (($_POST['login_name'] == $username) AND ($_POST['login_pw'] == $password))
{
echo "<a href=\"linkzumadminbereich\">Hier gehts lang</a>";
}
else
{
echo "Ihre Angaben sind unvollständig oder falsch. Bitte versuchen sie es noch einmal";
echo "<meta http-equiv='refresh' content='5; URL=...>";
}
?>


Sehhhhhr sicher :rolleyes:

Ein wirklicher "Hack0r" wird als erstes den Ordner auslesen und sehen da ist aj ein Ordner :D

Das macht diesen Schutz nicht sehr sicher ;)

besser währe das hier





<?php

include ('userconfig.inc.php');

if (($_POST['login_name'] == $username) AND ($_POST['login_pw'] == $password))
{

/*Admin bereich code*/

}
else
{
echo "Ihre Angaben sind unvollständig oder falsch. Bitte versuchen sie es noch einmal";
echo "<meta http-equiv='refresh' content='5; URL=...>";
}
?>


Das ganze könnte man noch verbessern über Sessions die ich leider nochnett kappiere ^^°

Jesus_666
10.01.2005, 16:36
NIEMALS Paßwörter im Klartext speichern! Jagt eure Paßwörter durch md5(), schreibt das Ergebnis in eure Datei und vergleicht dann mit:
if (md5($Eingabe) == $VorherGespeicherterHash)
Das ist erheblich sicherer als Klartextpaßwörter (aus einem MD5-Hash läßt sich das Paßwort nicht rekonstruieren) und wird aus gutem Grund von praktisch jeder Forensoftware benutzt.

chinmoku
10.01.2005, 16:38
Weiss zwar jetzt net, ob ich mich da einmischen sollte (Ich noob xD), aber könnte man das nicht auch ganz einfach mit .htaccess oder .htpasswd lösen ? ._.

Hier (http://strg.at/support/htaccess.php#pass) istn Tut!

Edit: Ist .htacces eigentlich sicher? Oder gibs da irgendwelche Mängel ._.`?

dead_orc
10.01.2005, 16:55
Diese Lösung würde ich für einfache Dinge bevorzugen, weil sie einfach einfach ist und man eigentlich kaum Wissen braucht. Aber für etwas größeres, wo evtl. auch noch unterschiedliche Leute unterschiedliche Rechte haben, sollte man auf jeden Fall PHP benutzen.

PS: Cookies sind auch noch ne Lösung :rolleyes:


echo "Ihre Angaben sind unvollständig oder falsch. Bitte versuchen sie es noch einmal";
echo "<meta http-equiv='refresh' content='5; URL=...>";

Was soll den das sein?? 1. Meta-Redicts sind evil, 2. Ist das die falsche Reihenfolge, 3. Hast du nach "URL=..." ein ' vergessen!

Orkkrieger
10.01.2005, 17:02
Sehhhhhr sicher :rolleyes:

Ein wirklicher "Hack0r" wird als erstes den Ordner auslesen und sehen da ist aj ein Ordner :D

Das macht diesen Schutz nicht sehr sicher ;)

besser währe das hier

püh...das war mein erstes pw script in php^^
nich so pöse sein^^



Was soll den das sein?? 1. Meta-Redicts sind evil, 2. Ist das die falsche Reihenfolge, 3. Hast du nach "URL=..." ein ' vergessen!
1.) was is daran evil...funzt gut und muckt nich rum...
2.) o0 macht das einen unterschied?
3.) weissich...nur hab ich die redirect adresse ersetzen wollen, die ich da stehen hab, und hab deswegen einfach alles gelöscht was da stand...leider auch das '
is aber im originalquellcode drin

Lukas
10.01.2005, 17:42
Afaik sind Sessions ganz einfach zu bedienen:
Man muss nur an den Anfang(!) der php-Datei session_start() setzen. Anschließend kann man über $_SESSION[variable] auf jede Variable der Session zugreifen (muss man nicht extra ins Array schreiben). Ich bin mir nicht 100 pro sicher, aber so habe ich das irgendwo mal gelesen.

dead_orc
10.01.2005, 17:50
@masterquest: Im Grunde isses das! Und das _SESSION-Array kannst (fast) wie eine ganz normale Variable benutzen (du solltest nur nicht "unset($_SESSION)" machen!).

@Orkkrieger:
1) Diese Meta-Angabe ist zum refreshen, nicht zum Weiterleiten.
2) Ja, dann ist es nicht valide! Und evtl. haben einige Browser damit erhebliche Schwierigkeiten (zeigen weder Text an, noch leiten sie weiter).

Manni
10.01.2005, 17:53
Dann will ich auch mal einen Vorschlag machen:

Die Datei login.php:

<?
if($mode == "logout") {
session_destroy();
header("Location: index.php");
die();
}
if($mode != "login") {
?>
<form action="login.php" method="post">
<table>
<tr>
<td>Username</td>
<td><input name="Name" type="text"></td>
</tr>
<tr>
<td>Passwort</td>
<td><input name="Passwort" type="password"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" Value="Login"></td>
</tr>
</table>
<input name="mode" value="login" type="hidden">
</form>
<?
} else {
if(empty($_REQUEST['Name'] || empty($_REQUEST['Passwort']) {
echo "<span style=\"color: #FF0000;\">Du musst alle Felder ausfüllen.</span><br>";
die("<a href=\"login.php\">Zurück</a><br>\n");
}
$verbindung = @mysql_connect($host, $user, $pwd) OR die("Konnte keine Verbindung zur Datenbank herstellen!<br>");
mysql_select_db($db);
$abfrage = "SELECT COUNT(*) AS uservorhanden, `account_aktiv` AS aktiv FROM `user` WHERE `passwort` = '".md5($Passwort)."' AND `name` = '".$Name."' LIMIT 1;";
$antwort = mysql_query($abfrage);
$row = mysql_fetch_array($antwort);
if($row['uservorhanden'] == 1) {
if($row['aktiv'] == "Y") {
echo "Du musst deinen Account erst aktivieren!";
die("<a href=\"login.php\">Zurück</a><br>\n");
}
} else {
echo "Dieser Benutzer existiert nicht oder du hast ein falsches Passwort eingegeben!";
die("<a href=\"login.php\">Zurück</a><br>\n");
}
session_start();
session_register(user);
session_register(passwort);
$username = $Name;
$userpasswort = md5($Passwort);
mysql_close($verbindung);
header("Location: index.php");
}
?>

In alle zu schützenden Dateien muss dann nur noch die Datei session.inc.php includet werden:

<?
$user = $_SESSION['user'];
$passwort = $_SESSION['passwort'];
if(empty($user) || empty($passwort)) {
die("Du bist nicht eingeloggt!<br>");
}
$verbindung = @mysql_connect($host,$user,$pwd);
mysql_select_db($db);
$abfrage = "SELECT COUNT(*) AS uservorhanden, `account_aktiv` AS aktiv FROM `user` WHERE `passwort` = '".$Passwort."' AND `name` = '".$Name."' LIMIT 1;";
$antwort = mysql_query($abfrage);
$row = mysql_fetch_array($antwort);
if($row['uservorhanden'] == 1) {
if($row['aktiv'] == "Y") {
echo "Du musst deinen Account erst aktivieren!";
die("<a href=\"login.php\">Zurück</a><br>\n");
}
} else {
echo "Dieser Benutzer existiert nicht oder du hast ein falsches Passwort eingegeben!";
die("<a href=\"login.php\">Zurück</a><br>\n");
}
echo "Herzlich Willkommen ".$user."!<br>\n";
?>

Manni :D

NPC Fighter
10.01.2005, 18:13
Oh, danke, werds in der nächsten Zeit mal einbaun.

An alle großes Dankeschön! Ich denke, man kann den Thread jetzt closen.

Jesus_666
10.01.2005, 19:19
Edit: Ist .htacces eigentlich sicher? Oder gibs da irgendwelche Mängel ._.`?
Eine richtig konfigurierte .htaccess auf einem richtig konfigurierten Server (der Apache ist da standardmäßig korrekt eingestellt) ist sicher. Niemand kann die Datei per HTTP auslesen (das wird per Regel in der Serverkonfiguration verboten) und niemand hat Zugriff auf das geschützte Verzeichnis, ohne sich zu authentifizieren.

Der einzige Nachteil an .htaccess ist, daß es eben nur ein verzeichnisbasierter Schutz ist; für feiner abgestufte Zugriffsbeschränkungen mußt du schon tiefer in die Trickkiste greifen.