login unsicher ?

z7-virus

Grünschnabel
so...ich hab n riesen problem mit meinem loginscript...
vieleicht koennt ihr euch des ma angucken:
erstmal die funktionen:
PHP:
function login() {
echo"<br><center><form name=form action=index.php?internmenu=subcheck method=post>
<TABLE width=100 border=0 cellpadding=0 cellspacing=0>
<TR>
<TD><select name=nick size=1>";
$result1 = mysql_query("SELECT nick FROM members");
while ($data = mysql_fetch_array($result1)){
echo"<option value='$data[nick]'>$data[nick]</option>"; }
echo "</select></td></TR>
<TR ><TD><center><input type=password name=pass maxlength=10 size=11></TD></TR>
<TR><TD><P align=center><INPUT type=submit value=Login></P></TD></TR></TABLE></form></center>"; }

function internmenu() {
global $user_id;
$result1 = mysql_query("SELECT rang FROM members where memberid='$user_id'");
while ($data = mysql_fetch_array($result1)){ $rang=$data[rang];}
echo "<table border=0 cellpadding=0 cellspacing=0 width=130>
<tr>
<td width=13></td>
<td><img src=pics/menu_dot.gif width=13 height=13 border=0> <a href=index.php?z7=members&members=details&details=change>details ändern</a></td>
</tr>";
if ($rang ==2 || 5 || 7){ echo"<tr><td width=13></td><td><img src=pics/menu_dot.gif width=13 height=13 border=0> <a href=index.php?z7=news&news=admin>news</a></td></tr>
<tr><td width=13></td>
<td><img src=pics/menu_dot.gif width=13 height=13 border=0> <a href=index.php?z7=kommentar&kommentar=admin>kommentare</a></td>
</tr><tr><td width=13></td>
<td><br></td></tr>"; }
if ($rang ==5 || 7) {
echo"<tr><td width=13></td>
<td><img src=pics/menu_dot.gif width=13 height=13 border=0> <a href=index.php?z7=admin&admin=guest>g&auml;stebuch</a></td>
</tr>"; }
if($rang ==4 || 5 || 7) {
echo"<tr>
<td width=13></td>
<td><img src=pics/menu_dot.gif width=13 height=13 border=0> <a href=index.php?z7=members&members=add>members</a></td>
</tr>"; }
if($rang ==3 || 5 || 7) {
echo"<tr>
<td width=13></td>
<td><img src=pics/menu_dot.gif width=13 height=13 border=0> <a href=index.php?z7=wars&wars=add>wars</a></td>
</tr><tr>
<td width=13></td>
<td><img src=pics/menu_dot.gif width=13 height=13 border=0> <a href=index.php?z7=nextactions&nextactions=main>nextactions</a></td>
</tr>";  }
echo"<tr>
		<td width=13></td>
		<td><img src=pics/menu_dot.gif width=13 height=13 border=0> <a href=index.php?internmenu=logout>logout</a></td>
	</tr>
</table>"; }

denn im index:
PHP:
if ($eingeloggt ==true) {
	check($menu);
	internmenu(); }
elseif ($eingeloggt == '' || $eingeloggt ==false) { login(); }
else { login(); }

und wenn loginformular geschickt is:
PHP:
if ($HTTP_GET_VARS[internmenu] == 'logout') { logout(); }
if ($HTTP_GET_VARS[internmenu] == 'subcheck') {
	$query = "SELECT * from members WHERE (nick like '$nick') AND (pw = '$pass')";
    $result = mysql_query ($query) or die("Zugriffstabelle konnte nicht geprüft werden: " . mysql_error());
    if (mysql_num_rows ($result) > 0) {
    	$time = time()+(24*356*24);
    	setcookie("eingeloggt", "true",$time);
    	while($data = mysql_fetch_array($result)){ $memberid=$data[memberid]; }
        setcookie("user_id","$memberid",$time);
        setcookie("user_time","$time",$time);
        }
   	else {} }

$eingeloggt = $HTTP_COOKIE_VARS['eingeloggt'];
$user_id = $HTTP_COOKIE_VARS['user_id'];
$user_time = $HTTP_COOKIE_VARS['user_time'];

nu haben sich 2 bei mir gemeldet...die sich nicht einloggen müssen und das internmenu trotzdem sehen und sachen machen können...woran liegt das ? ich habe auf 6 rechnern geguckt...da is das nicht.
 
alles ok...

so...ich habs hinbekommen...bitte keine mühe mehr machen um zu versuchen da durchzusteigen...aber ihr könnt gerne verbesserungsvorschläge einbringen.
 
hilfe

die mir bekannten Leute können nichtmehr auf das internmenu zugreifen...es kann wohl aber noch wer anders, kann nich mal wer von den "higskillern" sich das mal angucken ?
 
is nen bisken eklig das script... (sorry fuer das comment ;))
die "functions" die du gebastelt hat ... dafuer functions zu missbrauchen ... aber egal ;)


if($rang ==4 || 5 || 7)
5 bzw. 7 ist groesser 0 und so immer true.
du pruefst nur auf $rang==5
so isses richtig:
if($rang == 4 || $rang == 5 || $rang == 7)

und zu der headline:
unsicher ist der login zu 99,9%, aber das ist nen anderes thema ;)
 

Neue Beiträge

Zurück