WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Medlemmar deletas... (https://www.wn.se/forum/showthread.php?t=37506)

greenio.se 2009-06-21 18:21

Är det slarvigt kodat så är det antagligen det överallt, dvs. alla filer.

Antingen anlitar du någon för att gå igenom åtminstone alla databasfrågor och se till att de inte är öppna för sql-injections eller så lär du dig lite php själv och fixar det på egen hand.

Sök på mysql_query i alla filer och kolla igenom så att de inte är som ditt förra exempel, att de bara villkorslöst tar variabler från länken och trycker in i databsfrågan. mysql_real_escape_string() är som sagt en ganska bra universallösning. Jag tycker att om man förväntar sig ett numeriskt id eller liknande så kan man köra intval() på indatan istället.

Nu vet inte jag vad dina medlemmar kan göra på sidan, men kan de skriva meddelanden eller inlägg eller fylla i saker till en profil eller liknande bör du också kolla över säkerheten på det. Du vill inte att dina medlemmar ska kunna skriva skadlig kod som drabbar andra som läser vad de skrivit. Där är htmlentities() en ganska bra funktion att köra, eller strip_tags() om du inte tycker att dina medlemmar behöver skriva html alls.

tommi 2009-06-21 18:33

Precis jag har fått ett fall en kille skrev script kod i medlem sidan och det var inte bra.

Kolla nedan!

<?

include 'header.php';



if (isset($_POST['submit'])) {



$avatar = $_POST["avatar"];

$quote = $_POST["quote"];

//insert the values

if (!isset($message)){

$result= mysql_query("UPDATE `grpgusers` SET `avatar`='".$avatar."', `desc`='".$quote."' WHERE `id`='".$user_class->id."'");

echo Message('Your preferences have been saved.');



die();

}

}

?>

<?

if (isset($message)) {

echo Message($message);

}

?>

<style type="text/css">

<!--

.stil2 {font-size: x-small}

-->

</style>



<tr>

<td class="contenthead"> Medlemssida Inst&auml;llningar: </td>

</tr>

<tr><td class="contentcontent">

<form name='login' method='post'>

<table width='69%' border='0' align='center' cellpadding='0' cellspacing='0'>
<tr>
<td height='28' align="right"></td>
<td>Avatar Bild Adress:</td>
</tr>
<tr>
<td width="28%" height='28' align="right"><span class="stil2"></span></td>
<td width="72%"><font size='2' face='verdana'>
<input name='avatar' type='text' value='<?= $user_class->avatar ?>' size="80">
</font></td>
</tr>
<tr>
<td height='28' align="right"></td>
<td>

Vill du ha en Avatar i din profil? D&aring; g&ouml;r du s&aring;
h&auml;r. Hittar du en egen bild p&aring; webben s&aring; fyll i
adressen till den bilden i den adress ruta ovan ex:
Hittar du ingen egen bild s&aring; kan du anv&auml;nda v&aring;ra
ex: nedan.

[img]images/avatar1.gif[/img] images/avatar1.gif
[img]images/avatar2.gif[/img]
images/avatar2.gif



[img]images/avatar3.gif[/img] images/avatar3.gif[img]images/avatar4.jpg[/img]
images/avatar4.jpg



[img]images/avatar5.jpg[/img] images/avatar5.jpg[img]images/avatar6.gif[/img]
images/avatar6.gif

<font face="verdana">

</font>
</p>
</td>
</tr>
<tr>
<td height='28' align="right"></td>
<td><font face='verdana'><span class="stil2">Profil Beskrivning:</span></font></td>
</tr>
<tr>
<tr>
<td height='28' align="right" valign="top"><font face='verdana'><span class="stil2"></span></font></td>
<td><font size='2' face='verdana'>
<textarea name="quote" cols="80" rows="20"><?= $user_class->desc2 ?>

</textarea>
</font></td>
</tr>
<td></td>
<td><font size='2' face='verdana'>
<input type='submit' name='submit' value='Spara'>
</font></td>
</tr>
</table>

</form>

<?

include 'footer.php';

?>

tommi 2009-06-21 18:35

Ok här är profil.php

<?
include 'header.php';
$profile_class = new User($_GET['id']);
?>
<tr>
<td class="contenthead">Medlems Profil</td>
</tr>
<tr><td class="contentcontent">
<table width='100%'>
<tr>
<td colspan='4'>

<table width='100%' height='100%' cellpadding='5' cellspacing='2'>
<tr>

<td width='267' align='center'>[img]<? echo $profile_class->avatar; ?>[/img]</td>
<td width="708" align='center'></td>
</tr>
</table> </td>
</tr>

<tr>
<td width='15%'>Namn:</td>
<td width='35%'><?php echo $profile_class->formattedname; ?></td>

<td width='15%'></td>
<td width='35%'></td>
</tr>

<tr>
<td width='15%'></td>
<td width='35%'></td>

<td width='15%'></td>
<td width='35%'></td>
</tr>

<tr>
<td width='15%'>Level:</td>
<td width='35%'><?php echo $profile_class->level; ?></td>

<td width='15%'>Pengar:</td>
<td width='35%'>$<?php echo $profile_class->money; ?></td>
</tr>

<tr>

<td width='15%'>Medlem sedan:</td>
<td width='35%'><?php echo $profile_class->age; ?></td>

<td width='15%'>Senast Aktiv:</td>
<td width='35%'><?php echo $profile_class->formattedlastactive; ?></td>
</tr>

<tr>
<td width='15%'>Online:</td>
<td width='35%'><?php echo $profile_class->formattedonline; ?></td>

<td width='15%'>Klubb:</td>
<td width='35%'><?php echo $profile_class->formattedgang; ?></td>
</tr>

<tr>

<td width='15%'>Bor i:</td>
<td width='35%'><?php echo $profile_class->cityname; ?></td>

<td width='15%'></td>
<td width='35%'></td>
</tr>
</table>
<table width="100%" border="0">
<tr>
<td>
<? echo $profile_class->desc2; ?></td>
</tr>
</table></td></tr>

<?
if ($user_class->id != $profile_class->id){
?>

<tr><td class="contenthead">Actions</td></tr>
<tr><td class="contentcontent">
<table width='100%'>
<tr>
<td width='25%' align='center'>username ?>'>Meddelande</td>

<td width='25%' align='center'>id; ?>'>Skicka pengar</td>
<td width='25%' align='center'></td>
<td width='25%' align='center'></td>
</tr>

<tr>
<td width='25%' align='center'>id ?>'>Attackera!</td>
<td width='25%' align='center'>id ?>'>Råna</td>

<td width='25%' align='center'></td>
<td width='25%' align='center'></td>
</tr>
</table>
</td></tr>
<?
}
include 'footer.php';
?>

digi 2009-06-21 19:01

Tycker du ska göra som greenio.se säger och anlita någon som fixar detta åt dig, ser ut som ett dåligt kodat onlinespel. Om koden är så bristfällig som den ser ut så är det garanterat ingen kryptering på lösenorden som sparats heller =/

tommi 2009-06-21 19:05

Med så bra killar och tjejer här så fixar vi detta snabbt. Det är inte så många filer. Skämt å sido. Men ser ni något på dessa filer som bör ändras, och är inte har något annat att göra så släng in ett tips vad som ska ändras.

taz76 2009-06-21 19:20

tror inte någon orkar läsa ens 10 sidor där alla rader har ingen indentering ;) hoppas att de riktiga filerna har vettig indentering..

tommi 2009-06-21 19:23

taz76 du verkar ju ha superkoll på detta så gör snabb överblick och säg mig vad som ska ändras. Att skriva ett inläg tar säkert lika lång tid som att kolla dessa filer snabbt eller hur?

WizKid 2009-06-21 19:27

Det är inte små ändringar som behövs göras. Någon behöver gå igenom all kod och fixa alla säkerhetshålen. Det tar betydligt längre tid att gå igenom alla din kod grundligt än att skriva ett inlägg.

digi 2009-06-21 19:33

tommi: det går alltid bra att ställa små specifika frågor här, men när det är ett helt system som ska gås igenom tror jag det är bäst att du anlitar någon eller lär dig göra det själv.

taz76 2009-06-21 19:42

Som sagts innan; det är inga små ändringar som går fort att göra.. och nej - har ingen lust att spendera massa timmar på gratisjobb bara för att vara snäll bara för att jag råkar ha kunskap ;)

Släng upp en tråd i "Förmedling av jobb och tjänster"


Alla tider är GMT +2. Klockan är nu 15:06.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson