Herkunft eines Requests auslesen - wie?
Tim
- php
hi all
Ich habe eine Methode die alle Einträge einer Tabelle löscht.
Ich möchte das diese Methode nur von einer bestimmten Datei aufgerufen werden kann.
Kann ich einen Request irgendwie orten?
Also wenn diese Methode in der Klasse delete steckt und delete_all heißt.
Und ich möchte das _nur_ Admin.php diese Methode aufrufen kann _oder_ in der Methode halt diese ausführt.
in Pseudo etwa so:
class delete{
public static function delete_all(){
if($_POST['del'] isfrom admin.php){
$sql->delete->....
} else {
echo "Sie haben nicht die Befugnis diese Tabelle zu löschen.";
}
}
public... weitere Methoden..
}
Ust das irgendwie möglich?
Bye,
Tim
Hi,
Ich möchte das diese Methode nur von einer bestimmten Datei aufgerufen werden kann.
egal wie oft das gefragt wird, es gilt noch immer: HTTP kennt kein "von".
Kann ich einen Request irgendwie orten?
Nein. Und falls Dir jemand zur Auswertung des Referers rät, solltest Du in Betracht ziehen, dass er möglicherweise in Dein System eindringen möchte.
Und ich möchte das _nur_ Admin.php diese Methode aufrufen kann _oder_ in der Methode halt diese ausführt.
Dein Sicherheitskonzept entspricht einer offenen Haustür, vor der eine Fußmatte mit der Aufschrift "Bitte nichts klauen!" liegt. Implementiere einen Login- oder Authentifizierungs-Mechanismus.
Cheatah
Hello,
egal wie oft das gefragt wird, es gilt noch immer: HTTP kennt kein "von".
Ist das ein Monologsystem?
Ich dachte immer, auch bei HTTP gäbe es Request und Response?
Liebe Grüße aus dem Cyberspace
Tom vom Berg
Tach,
egal wie oft das gefragt wird, es gilt noch immer: HTTP kennt kein "von".
Ist das ein Monologsystem?
Ich dachte immer, auch bei HTTP gäbe es Request und Response?
HTTP kümmert sich allerdings nicht im geringsten darum, wo ein Request herkommt oder ein Response hingeht und noch weniger darum, ob ein UA schonmal zuvor einen Request abgesetzt hat oder nicht.
mfg
Woodfighter
Hi,
HTTP kümmert sich allerdings nicht im geringsten darum, wo ein Request herkommt oder ein Response hingeht und noch weniger darum, ob ein UA schonmal zuvor einen Request abgesetzt hat oder nicht.
HTTP hat sozusagen, was das Wiedererkennen von Gesprächspartnern angeht, Alzheimer.
MfG ChrisB
Hello,
HTTP kümmert sich allerdings nicht im geringsten darum, wo ein Request herkommt oder ein Response hingeht und noch weniger darum, ob ein UA schonmal zuvor einen Request abgesetzt hat oder nicht.
HTTP hat sozusagen, was das Wiedererkennen von Gesprächspartnern angeht, Alzheimer.
Dann ist $_SERVER['REMOTE_ADDR'] also ein Durchgriff auf bzw. eine Durchreichung von TCP?
Liebe Grüße aus dem Cyberspace
Tom vom Berg
Tach,
Dann ist $_SERVER['REMOTE_ADDR'] also ein Durchgriff auf bzw. eine Durchreichung von TCP?
nein, auf IP.
mfg
Woodfighter
Hello,
Dann ist $_SERVER['REMOTE_ADDR'] also ein Durchgriff auf bzw. eine Durchreichung von TCP?
nein, auf IP.
Mit der Antwort hatte ich gerechnet, aber weiß nun nicht, wie es wirklich ist.
Ist es nicht TCP, was mit HTTP in Kontakt steht?
Ob dann TCP seinerseits wieder mit IP konferiert, geht ja HTTP nichts an.
Und ob der Zugriff auf die IP nun tatsächlich einen Eingriff in die Hoheit von TCP bedeutet, ober ob TCP die IP, den Port und den angesprochenen Hostname nicht vielleicht eher freiwillig (also Protokollkonform) weiterreicht, das konnte ich auch noch nicht nachvollziehen.
Da habe ich ja wieder 'was zu lesen jetzt ;-))
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi,
»» »» Dann ist $_SERVER['REMOTE_ADDR'] also ein Durchgriff auf bzw. eine Durchreichung von TCP?
»» nein, auf IP.
Mit der Antwort hatte ich gerechnet, aber weiß nun nicht, wie es wirklich ist.
das ist auch in diesem Fall schwierig auseinanderzuklamüsern, weil TCP und IP stark ineinander verzahnt sind.
Ist es nicht TCP, was mit HTTP in Kontakt steht?
Doch, ist es. Aber TCP hat kein eigenes Adressierungsschema und reicht daher die Adressierung des darunterliegenden IP transparent durch. TCP macht ja "nur" eine Transportsicherung in dem Sinn, dass es sicherstellt, dass alle IP-Pakete beim Empfänger ankommen, und das auch noch in der richtigen Reihenfolge.
Ob dann TCP seinerseits wieder mit IP konferiert, geht ja HTTP nichts an.
Im Prinzip richtig - aber durch die Adress-Transparenz von TCP sind die Adressdaten von IP auch auf TCP-Ebene (und somit auch an der Schnittstelle zu HTTP) wieder "sichtbar".
Und ob der Zugriff auf die IP nun tatsächlich einen Eingriff in die Hoheit von TCP bedeutet, ober ob TCP die IP, den Port und den angesprochenen Hostname nicht vielleicht eher freiwillig (also Protokollkonform) weiterreicht, das konnte ich auch noch nicht nachvollziehen.
Oder.
Die Weitergabe der IP-Adressdaten ist eine zwingende Notwendigkeit, ohne die das ganze Schema nicht funktionieren würde.
Liebe Grüße aus dem schönen Oberharz
Oh, wieder zuhause?
So long,
Martin
Hello,
Liebe Grüße aus dem schönen Oberharz
Oh, wieder zuhause?
zuhause ist da, wo eine funktionierende Waschmaschine steht :-)
Leider kann ich die hier im Moment nicht anschalten, weil mir im Winter wohl die Warmwassertherme geplatzt ist, obwohl ich eigentlich alles abgestellt und abgelassen hatte. Nun kan ich in Bad und Küche das Wasser nicht anstellen und suche dringend eine Kombitherme, damit ich dann wenigstens gleich zwei Fliegen mit einer Reparatur schlagen kann. Bisher gibt's hier nur Gas-Einzelfuerstätten in meinem alten Hexenhaus. 500 Jahre oder älter ist die Grundsubstanz.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi Tim!
Ich möchte das diese Methode nur von einer bestimmten Datei aufgerufen werden kann.
Wo wird die Instanz der Klasse delete erzeugt?
Wie inkludierst du die Datei, die diese Klasse enthält?
Wenn die Datei von der Admin.php inkludiert wird, wäre es nicht schlau, diese Datei vor Zugriffen von außen zu schützen? [1]
Zusätzlich kannst du in der inkludierenden Datei eine Konstante (define) setzen, die du in der inkludierten Datei auf Gültigkeit überprüfst.
Das hat aber rein gar nichts mit einem (zweiten) Request zu tun. Dafür beachte Cheatahs Hinweise.
[1] Ja, das wäre es. =)
MfG H☼psel