"We are back" « oc.at

php: wie absenden von formular bestimmen?

semteX 22.03.2004 - 20:57 517 11
Posts

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14716
Tja so simpel :D aber meine frage dazu:

Wie kann ich checkn ob ein formular abgeschickt wurde? bislang machte ich es imma so: unten ne hidden variablen namens <input type='hidden' name='abs' value='1'>
und dann oben

if($_POST["abs"]==1)
{
...
}

nur i mein das kannst ja sehr einfach als aussenstehender umwandern...

wie machts ihr das imma?

mfg

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25538
Code: PHP
<?php

if (isset($myhiddenvar)) // wenn register_globals on
{
   // formular wurde submitted
}

?>

<html..
<form ..>
<input type="hidden" name="myhiddenvar">
</form>

DKCH

Administrator
...
Registered: Aug 2002
Location: #
Posts: 3301
warum leicht zu umgehen? sonst machst halt a uniqid, speicherst die und vergleichst dann mit der.

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14716
also same wie bei mir.. mhm...

i mein rein theoretisch könnt ma ja von jeder x beliebign seitn dann "in" den "formular abgesendet" bereich... mhm... i mein wenns was sensibles ist macht ma eh noch nen richtign check... ob alles ausgefüllt wurde...

so mein ich das:

Code: PHP
<form name='blahr' action='http://www.overclockers.at' method='post'>
<input type='hidden' name='secretvar'>
<input type='submit'>
</form>

so könnt ma das ja z.b. umgehen...
Bearbeitet von semteX am 22.03.2004, 21:07

manalishi

tl;dr
Avatar
Registered: Feb 2001
Location: Feldkirch
Posts: 5977
naja.
ich prüfe meistens einfach einfach ziemlich konservativ....

html output:
<form method="post">barcode: <input type="text" name="barcode"></form>

php:
<?
if(is_numeric($_POST["barcode"])
{
blah...
}
?>

für strings und dergleichen (was bei db-queries eben unkritisch ist) verwend ich meistens nur die fkt. isset($var)


<html>
<body>
<pre>
<?
if(isset($_POST) && count($_POST)>0)
print_r($_POST);
?>
</pre>
<form method="post">
<input type="text" name="blah">
<input type="submit" name="lalala">
</form>
</body>
</html>


gerade mit mozilla getestet. auch wenn kein einziger wert eingetragen wurde, sind alle im post-array zu sehen. probier einfach damit herum...
Bearbeitet von manalishi am 22.03.2004, 21:22

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4938
hi,

wie wärs mit am referer check? wenn absender adresse ned die gleiche datei is, gibts a error msg :)

mfg

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4477
Wie waers mit, Referer kann man abdrehen oder wird von manchen Proxies nicht mitgenommen oder gibts bei verlassen von HTTPS-Seiten nicht usw.

Eins klar, wenn $_SERVER['REQUEST_METHOD'] == 'POST' oder eben einer der $_POST[*]-Variablen gesetzt ist, war es ein Post.

Obs von _deiner_ Seite kommt, unsecure Referer pruefen oder eben pruefen ob Session existiert und deine vorherigen Werte drinnenstehen.

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4938
Zitat von Rektal
Wie waers mit, Referer kann man abdrehen oder wird von manchen Proxies nicht mitgenommen oder gibts bei verlassen von HTTPS-Seiten nicht usw.

Eins klar, wenn $_SERVER['REQUEST_METHOD'] == 'POST' oder eben einer der $_POST[*]-Variablen gesetzt ist, war es ein Post.

Obs von _deiner_ Seite kommt, unsecure Referer pruefen oder eben pruefen ob Session existiert und deine vorherigen Werte drinnenstehen.
hi,

denk ned dass er a ssl verschlüsselung verwenden wird, was ich bis jetzt von dem projekt weiß.

Zitat
Wie waers mit, Referer kann man abdrehen oder wird von manchen Proxies nicht mitgenommen

da es intern verwendet wird denk ich ned dass einer der clients des abdreht hat!

mfg

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4477
Es waere besser das dem urspruenglichem Poster zu sagen, denn soweit ich sehe hat er das nicht erwaehnt ;)

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14716
nein nix ssh, keine proxys oder ähnliches mhm.

i mein "so" gefährdet ist das ding eh ned, dass es solche schutzmechanismen bedürfte. nur es hätt mich mal interessiert ob ich der einzige bin der das so "pfuscherlike" mit am hidden field mach..

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25538
geh, es gibt so allgemeine methoden..

und diese
Zitat
wie wärs mit am referer check? wenn absender adresse ned die gleiche datei is, gibts a error msg
is mit der kirche ums kreuz

und diese
Zitat
nur i mein das kannst ja sehr einfach als aussenstehender umwandern...
is wie eine radeon 9800 pro für counterstrike, einfach "zuviel des guten".

moidaschl

Vollzeit-Hackler
Avatar
Registered: Aug 2002
Location: 1210, ABK-D/L
Posts: 4029
machs so wie mat und dann, wenns sicher sein muss, einfach noch ein input field mit an passwort!
des verknüpfst dann mit logisch AND, und passt scho
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz