eingestellt ist Ich baue ein Nachrichtensystem, um zu lernen, wie es funktioniert, und ich habe bereits so ziemlich alles. Ich kann mich anmelden und einen Beitrag auf einem Board machen, aber jetzt würde ich gerne in der Lage sein, es zu bearbeiten. Das Back-End ist fertig, es empfängt eine POST-Anfrage
Grundsätzlich, was ich tun muss, ist zu überprüfen, ob der aktuell angemeldete Benutzer der Autor eines bestimmten Beitrags aus Javascript ist, um die Bearbeitungsschaltfläche ein- oder auszublenden. Ich weiß, wie man erkennt, wenn der Benutzer von PHP angemeldet ist, so dass es Anfragen blockiert, wenn Sie nicht der Autor sind, aber ich kann die Schaltflächen nicht ausblenden oder anzeigen, da die Posts dynamisch aus einem <template>
generiert werden.
Anmeldung Schnipsel:
$_SESSION["userid"] = $userid;
Edit Kontrolle PHP-Schnipsel (ein bisschen Pseudo-Code):
if ($_POST["action"] == "modifypost" && isset($_POST["postid"]) && isset($_POST["content"]))
{
$post = get_post($_POST["postid"]);
if ($post.userid != $_SESSION["userid"])
{
die("you are not allowed");
}
//MySQL queries
}
Beitrag dynamische Generation (abgekürzt):
function add_post(post) {
var t = document.querySelector('#historypost');
t.content.querySelector(".content").innerHTML = post.content;
var clone = document.importNode(t.content, true);
document.body.appendChild(clone);
}
ich ursprünglich gedacht hatte, Festlegen einer Variablen mit der Benutzer-ID aus HTML mit <script>
und <?php ?>
, aber dann könnte der Benutzer diese Variable manuell von der Konsole aus einstellen und die Schaltflächen anzeigen.
Warum interessiert es dich, wenn ein Benutzer eine Taste zu sich selbst zeigt? Sie müssen die Anfrage auf der Serverseite trotzdem überprüfen. Ist es wichtig, ob die gesamte Anfrage gefälscht ist oder ob sie Ihre js verwendet hat, um sie zu erstellen? IMO müssen Sie sich nur darum sorgen, dass Benutzer andere Benutzer js (XSS) ändern und bestätigen, dass eine Benutzeranfrage beabsichtigt wurde (CSRF). Wenn sie die Konsole verwenden, um Ihre Website nur in ihren Augen zu verändern. Lass sie. – jh1711
Wenn sie ihre Änderungen nicht speichern können, weil Sie es auf "Post" überprüfen, dann ist es egal, ob sie versuchen, das Javascript so zu bearbeiten, dass die Schaltfläche "Bearbeiten" usw. angezeigt wird. –