IFD:WebApps/ProjekteWS10/SvenSom

From Medien Wiki
< IFD:WebApps‎ | ProjekteWS10
Revision as of 11:35, 14 December 2010 by Sven (talk | contribs)

BAUHAUS-ERSTI.de

Kurzbeschreibung

Im Rahmen des Projektes möchte ich eine Art soziales Netzwerk erstellen, welches sich speziell an Erstsemester der Bauhaus-Universität richtet. Da ich selber "Ersti" war, habe ich festgestellt, dass überall Fragen und Probleme auftreten. Diese fangen schon beim Umzug an und gehen bis zur Modulbörse bzw. Einschreibung in jeweilige Vorlesungen. Mir persönlich ist dies nicht einfach gefallen bzw. habe immer noch kleine Probleme bei der Orientierung.

Mit dieser Plattform möchte ich den Erstis helfen. Es gibt verschiedene Checklisten, Erinnerungen und Hilfe bei Fragen. Diese Seite würde es möglich machen Erstsemestler besser untereinander kommunizieren zu lassen und der Uni eine weitere Plattform der Kommunikation zu bieten.

Verwendete Sprachen / Techniken

  • PHP 5
  • Javascript
  • jQuery
  • MySQL
  • HTML
  • CSS

Design

Das Design soll ohne große Spielereien auskommen. Klar definierte Formen und Farben stehen im Vordergrund.

Datenbank

Im Hintergrund der Platform arbeitet eine Datenbank, die via phpMyAdmin verwaltet wird. Auf dem Webserver läuft Apache mit der MySQL-Client-Version 5.0.51a. PHP Erweiterung ist mysql.

Ausschnitte

Sicherheitsfunktionen gegen XSS

//Sicherheitsfunktionen gegen XSS
if(is_array($_GET) && count($_GET)>1)
{
	foreach($_GET as $key=>$get_var)
	{
		unset($_GET[$key]);
		$_GET[$key] = mysql_real_escape_string(str_replace("\\", "", htmlspecialchars(str_replace("\'", "", $get_var), ENT_QUOTES)));
	}
}

if(is_array($_POST) && count($_POST)>1)
{
	foreach($_POST as $key=>$post_var)
	{
		unset($_POST[$key]);
		$_POST[$key] = htmlspecialchars(str_replace("\'", "", $post_var), ENT_QUOTES);
	}
}

Datenbankanbindung

define("BASEHREF","");
define("FROMEMAIL","info@bauhaus-ersti.de>");
define("MYSQLUSER","..."); //mysql Username
define("MYSQLPASS","..."); //mysql Passwort
define("MYSQLDB","..."); //mysql Datenbank-Name

function db_connect()
{
	global $db;

	if($db)
		return;
	
	if(!@mysql_connect("localhost", MYSQLUSER, MYSQLPASS)){
		echo "Es ist ein Fehler mit der Datenbank aufgetreten! Es konnte keine Verbindung hergestellt werden.";
		exit();
	}
	
	$db = mysql_connect("localhost", MYSQLUSER, MYSQLPASS);

	mysql_select_db(MYSQLDB, $db);

	if(!$db)
	{
		echo "Es konnte keine Verbindung mit der Datenbank hergestellt werden!\n";
		exit();
	}
}

Registrierung/Login

Bei der Registrierung wurde großer Wert auf Einfachheit gelegt. Der User soll sich schnell registrieren, ohne unnötig Daten zu seiner Person anzugeben. Diese können nach dem ersten Login angepasst und ergänzt werden.

Dabei wird dem User ein Passwort automatisch aus einem Pool generiert und anschließend via md5 verschlüsselt:

$pool = "qwertzupasdfghkyxcvbnm";
$pool .= "23456789"; 
$pool .= "WERTZUPLKJHGFDSAYXCVBNM";
    
srand ((double)microtime()*1000000);
    
for($index = 0; $index < 9; $index++)
{
    $pass_word .= substr($pool,(rand()%(strlen ($pool))), 1);
}
    
$pwd_md5    = md5($pass_word);