form action= "Dateiname.php" durch eine Variable ersetzen.

Eugen Hardegger

Grünschnabel
mit einem Formular erfasste Daten werden mit der Methode Post an eine php Datei übergeben. Da in der html Datei in der Codeansicht der Name der php Datei ersichtlich ist, kann die php Datei von Spammern direkt aufgerufen werden. Wie kann ich den Namen in eine Variable speichern und dann den Dateinamen"antwort.php" durch die variable ersetzen.

<form action="antwort.php" method="post" name="vorlage01" onSubmit="return Pruefen01();">

besten dank für Ihre Hilfe

eugen hardegger
 
Hi

auch wenn du den Dateinamen von einer PHP-Variable aus einsetzt ändert sich nichts
an der Sichtbarkeit bei den Benutzern Da du auch ein "return Pruefen01();" als onSubmit hast
bekommt man die Vermutung, das auf PHP-Seite nichts geprüft wird?
Das ist das eigentliche Problem. Alles im Browser kann sehr einfach umgangen werden.

(Auch) mit JS zu prüfen kann schon Vorteile haben, aber die Prüfung in PHP ist absolut notwendig.
Da du mit Pruefen01(); ja anscheinend Spammer abfangen kannst sollte es kein Problem ein,
die selben Prüfungen auch in PHP zu machen.
 
Guten Abend
Besten Dank für die Antwort/Hilfe
Ist genau so. Da ich das Eingabeformular mit Beispielen aus dem Internet erstellt habe, und das antwort.php ebenso, komme ich seit Wochen nicht mehr weiter. Ich würde gerne die 2 Dateien irgendwie bei euch hochladen, bin aber scheinbar auch damit überfordert. Die Felder Name, email, betreff, Nachricht sind Pflichtfelder.
mit freundlichen grüssen und bestem Dank,
eugen hardegger

Die Datei antwort.php
PHP:
<?php
// übernehmen der Eingaben aus HTML-Mail:
$name = $_POST['name'];
$email = $_POST['email'];
$telefon = $_POST['telefon'];
$str = $_POST['str'];
$ort = $_POST['ort'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
if (!$email) {
echo "leer";
die;
}
?>
<html>
<head>
<title>ANIMAL-LIFE : FEEDBACK</title>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="refresh" content="5; URL=http://www.mydomain.com/">
<style type="text/css">
<!--
body { background-image: url(); background-color: #DCEAF5;}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
//-->
</script>
<link href="titel.css" rel="stylesheet" type="text/css">
<link href="orginal/text.css" rel="stylesheet" type="text/css">
<link href="orginal/fuss.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
a:link { color: #0000FF; text-decoration: none;}
a:visited { text-decoration: none; color: #0000FF;}
a:hover { text-decoration: none; color: #FFFFFF;}
a:active { text-decoration: none; color: #0000FF;}.Stil1 {color: #FFFFFF}
-->
</style>
<link href="titel.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
@import url("../titel.css");
.Stil2 {color: #FF0000}
.Stil3 {font-family: Verdana, Arial, Helvetica, sans-serif}
-->
</style>
</head>
<body>
<div id="Layer7" style="position: absolute; left: 20px; top: 20px; width: 453px; height: 49px; z-index: 7" class="text">
  <p align="center" class="rot_16px_fett">Vielen Dank f&uuml;r Ihre Mitteilung.</p>
</div>
<? mail (mail@mydomain.com, "Feedback",
"
Name  : $name
EMail  : $email
Telefon  : $telefon
Strasse  : $str
Ort  : $ort
Betreff  : $betreff
Nachricht  :$nachricht");
?>
</body>
</html>
Ein bekannter von mir hat die Zeilen eingefügt, er mein es sollte so funktionieren, aber er könne halt auch nicht php.
PHP:
if (!$email) {
echo "leer";
die;
}
 
Zuletzt bearbeitet von einem Moderator:
Habe deinen Beitrag editiert und persönliche Daten rausgenommen.
 
Hi ,
Also erstens du solltest die Userinputs escapen !
2. Wenn du es so machst gibt er dir den Fehler undefined variable aus wenn man Antwort.PHP aufruft oder?
Du musst über prüfen am besten gibst du dem Submit Button einen Namen
<input type="submit" Name="send" value="Senden"/>
Dann ueberpruefst du mit PHP
If(isset($_POST['send'])) {
//Login button wurde geklickt!
// Eingaben über prüfen mit empty() und strlen() und natürlich escapen um Injections zu vermeiden :)
}
 
Zurück