PHP, wie erstelle ich eine Kommentarbox?

4 Antworten

Im Source Kommentare mit /* und */ einrahmen, auch mehrzeilig oben und unten

Einzelne Kommentatzeilen beginnen mit //


FaTech 
Fragesteller
 22.12.2016, 23:13

Sorry, da hast du was falsch verstanden. Ich meine Kommentarboxen, wo besucher ihren Kommentar hinterlassen können

0
fiwaldi  22.12.2016, 23:17
@FaTech

Aha, alles klar

Hast du denn schon HTML gut drauf?

Wie sieht es mit JS aus?

1
FaTech 
Fragesteller
 22.12.2016, 23:20
@fiwaldi

HTML kann ich gut, CSS auch. Deshalb will ich mit PHP und Java weiter machen

0

Du sollst was lernen, also Fertig-Lösung gibt's nicht.

Weißt du wie man ein HTML-Formular schreibt und dann in PHP auswertet?


FaTech 
Fragesteller
 22.12.2016, 23:12

HTML Formular, ja PHP auswerten, nein

0
DerMudder  22.12.2016, 23:20
@FaTech

In PHP gibt es zwei globale Variablen/Arrays.
$_GET und $_POST

Beide beinhalten die Werte die per GET und per POST an den Server übermittelt werden. 

GET ist z.B. seite.php?variable=wert
POST wird meistens für Formulare verwendet.

Beides kannst du dir mit 

print_r($_GET);
print_r($_POST);

anzeigen lassen.

Erstelle mal eine neue Seite und experimentiere etwas mit dem Code rum.

<?php  
print_r($_POST);
print_r($_GET);       
?>


<form method="post" action="seite.php"> <input type="text" name="variable1" value=""><br> <input type="text" name="variable2" value=""><br> <input type="submit" name="submitbutton" value="Abschicken"> </form>
0

Das musst du Schritt für Schritt lernen...

1. HTML (Formulare)

2. PHP Formdatenverarbeitung (PHP Grundkenntnisse vorausgesetzt...)

3. PHP + Datenbanken (SQL)

Allein das wird dich ne Weile beschäftigen. Damit kannst du dann eine Kommentarfunktion basteln.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium

Also du brauchst irgendeine Art von Datenbank. Dann solltest du darauf achten, dass das Ding JS-Injectionssicher ist.

WEnn du mir sagst, welche DB du verwendest und ob du schon tabellen erstellt hast, kann ich dir weiterhelfen. Aber bestimmt gibt es hier schon fertigversionen?

Woher ich das weiß:Studium / Ausbildung – Systemadministrator und Softwareentwickler

DerMudder  22.12.2016, 22:55

Fertig-Scripts sind zum lernen aber nicht so gut geeignet. Zumal die heutigen Scripts oft mehr als überladen sind. 

0
dannyotti  22.12.2016, 23:03
@DerMudder

Aber sicherer. Man muss heutzutage leider sehr auf die Sicherheit achten. Wenn man mit PHP anfangen will, würde ich anfangen ein User-System zu schreiben. Mit Passwortüberprüfung, DB-Eintrag, etc. Dort ist schon eine DB-Injection möglich. Diese Sind aber nur für den Anbieter gefährlich.

Ich bin mir sicher, dass er noch nie was von Javascript-Injection gehört  hat. Wenn er hier nicht aufpasst, ist jeder besucher der Seite betroffen. Und das könnte schon schwieriger werden.

Also denke ich, dass hier eventuell eine Fertig-Lösung sinnvoll wäre. Besonders, da er dadran dann alle weiteren selbst gescripteten Programme ableiten kann. Auch von dem Sicherheitsaspekt her.

Grundsätzlich hast du aber auch Recht, selber machen bringt mehr.

0
triopasi  22.12.2016, 23:09

JS- und DB-Injection hab ich als Begriff ehrlich gesagt noch nie gehört ;) Ich nehme an du meinst XSS bzw. SQL-Injection..

1
dannyotti  22.12.2016, 23:15
@triopasi

Ich meinte SQL injection, sorry.


JS Injection ist, wenn du in die Kommentarbox einfach mal JS reinschreibst. Wenn du das nicht irgendwie überprüfst, dann wird das von jedem, der diese Seite aufruft ausgeführt. Das kann schon gefährlich werden. Sowas wie Cross-Site-Scripting(XXS), von dem du keine Ahnung hast. Es reicht aber schon, wenn sie ganz normalen Code einbinden, der deine Seite unbrauchbar macht. Beispielsweise eine schleife, die dauernd einen alert absetzt. Ist auch nervig.



0
triopasi  22.12.2016, 23:16

Das was du meinst nennt sich XSS - Cross (= X) Site Scripting ;)

0
dannyotti  22.12.2016, 23:22
@triopasi

Grr immer das Fachjangon. Aber ich glaube es gibt HTML injection und JS injection selber als eigener bestand. XSS kannst du auch betreiben, ohne dass was injected wird? Wenn ich als Entwickler einfach eine andere JS datei einbinde, nennt man das auch XSS. Man kann auch JS injecten ohne auf ein anderes Script zu verweisen. Das ist dann aber kein XSS. Genau das gleiche mit HTML. Wenn du einfach nur aus lust und laune mal den Container bendest und damit die Seite nicht mehr anschaulich machst, hast du sachen injected, hat aber nichts mit XSS zu tun, oder?

0
triopasi  22.12.2016, 23:31

HTML zB in der Entwicklerkonsole zu ändern damit das Layout etc kaputt geht bringt dir als "Hacker" ja nichts - ausser man versteckt iwas sicherheitsrelevantes im HTML aber dann ist man selbst schuld. Und JS kann man auch über die Konsole ausführen oder als Script einbinden - ist aber glaub ich auch kein XSS, da es ja norm. nur dich (bzw deine Browserdarstellung) betrifft. XSS gibt es 2 Arten: persistent und non-persistent. Persistent ist zB wenn du Code in nem Kommentar speicherst und der dann bei jedem anderen angezeigt/ausgefürt wird. Non-persistent hast du zB wenn ein GET Parameter ohne escapen etc angezeigt wird - da muss das Opfer aber auf den Link von dir mit der injection im GET Parameter klicken.

0
dannyotti  22.12.2016, 23:37
@triopasi

Mhhh, ja persisten und non-persistent kenn ist.

Mit Injection meine ich, dass in einem Kommentarfeld beispielsweise:

<div style="width: 100%; position:absolute; top:0px; left:0px; height: 100%; z-index:5;">Nerviges PopUp</div>

Es geht hier ja auch nicht um Hacken, sondern, dass du einfach das aussehen der Seite durch die Eingabe in das Kommentarfeld verändern kannst. Und das machen auch nicht wenige. Als Administrator, der nicht durchgehend ein Auge drauf wirft, ist das nicht gleich ersichtlich. Aber alle besucher der Seite bekommen das neue Popup zu sehen.

Also HTML-Injection. Innjection heißt immer einfabe in das Kommentarfeld. Nicht in die Webkonsole. Die ist nur local und hat nichts mit irgendwelchen Sicherheitsaspekten zu tun.

0