Back to overview

Web Engineering

Discover Web Engineering: 59 flashcards with questions and answers.

Subject
Sciences / Computer science
Language of creation
German
59 flashcards No ratings yet 0 views
Add to my sets

Sign in to add this set to your collection. You will return here afterwards.

Cards in this set

Card 1

Question

Wie können Sie mittels PHP eine Verbindung zu einer MySQL-DB bzw. einer MariaDB herstellen.

a) Wie heisst die entsprechende Funktion oder Methode?

b) Welche Parameter müssen mitgegeben werden?

Answer

a) mysqli_connect();

b) mysqli_connect("localhost", "Benutzername", "Password", "Datenbankname");

Card 2

Question

Sie möchten die "$query" auf eine bereits verbundene Datenbank ($link) anwenden.

a) Wie heisst der Code, damit das Resultat in der Variablen $resultat steht?

b) Im Fehlerfall soll "Insert hat nicht geklappt!" ausgegeben werden

Answer

a)

$resultat = mysqli_query($link, $query);

PDO

$statement = $pdo->prepare($query);

$statement->execute();

b)

if(mysqli_affected_rows($result) = 0) {

echo "Insert hat nicht geklappt"; 

} 

PDO

if($stmt->rowCount()) == 0){

echo "Insert hat nicht geklappt";

}

 

Card 3

Question

Das Resultat einer "SELECT * FROM adressen" sei in $resultat gespeichert.

Geben Sie das Resultat in einer while- oder foreach-Schleife aus.

while ($zeile=mysqli_fetch_assoc($resultat)) {
}

Answer

while ($zeile=mysqli_fetch_array($resultat)) {

while (list($schluessel, $wert)=each($zeile)) {

echo $wert;

 } 
}

 

 

foreach ($zeile as $key => $value) {

echo "<td>" .$value. "</td>";

}

Card 4

Question

a) Was versteht man unter SQL-Injection?

b) Was kann dagegen unternommen werden?

Answer

a) Das Ausnutzen einer Sicherheitslücke im Zusammenhang mit SQL-Datenbanken, die mangelnde Maskierung oder Überprüfung von Metadaten in Benutzereingaben entsteht

b) Benutzer mit beschränkten Rechten für Verbindung, Prepared Statements verwenden (PDO, MySQLI)

  • mysqli_real_escape_string() -> Schützt vor SQL-Injection

Input erwarteter Datentypen überprüfen

Card 5

Question

a) Was versteht man unter Cross Site Scripting?

b) Was kann dagegen unternommen werden?

Answer

a) Damit ist es einem Angreifer möglich, auch Skripte indirekt an den Brwoser des Opfers zu senden und damit Schadcode auf der Seite des Clients auszuführen

b) htmlentities - wandelt von aussen kommende Inhalte und Zeichen in HTML Code um - so ist keine Ausführung möglich

Card 6

Question

Nennen Sie Funktionen bzw. Methoden, welche Sie für die Formularvalidierung auf PHP-Seite verwenden können? Sind PHP-Methoden notwendig, wenn mit JavaScript bereits einiges abgefangen wurde?

Answer

PHP:

  • trim() -> entfernt Leerzeichen
  • mysqli_real_escape_string() -> Schützt vor SQL-Injection
  • stripslashes() -> gibt String zurück aus dem alle \ entfernt wurden
  • empty($_POST[..])oder isset($_POST[..]) -> prüfen der Formulareinträge
  • is_numeric(), is_int(), strlen(), usw. -> Stimmen Datentypen
  • checkdate($monat, $tag, $jahr) -> Datum checken

 

 

Auf HTML:

- type="email"

- type="number"

- type="password"

- required

Es ist notwendig, weil JavaScript sind Clientseitig. Der User könnte diese abgeschaltet haben oder aber einen Browser (resp. Version) verwenden, die es nicht unterstützt.

Card 7

Question

Wofür steht das "w" in folgendem Statement: fopen("kommentar.txt","w"))?

Answer

'r' Nur zum lesen geöffnet, platziere Dateizeiger auf Dateianfang

'w' Nur zum schreiben geöffnet, platziere Dateizeiger auf Dateianfang und kürze Datei auf eine Länge von 0. Existiert die Datei nicht versuche diese zu erzeugen

effektives schreiben in die Datei:

$dz = fopen("test.txt","w"); -> öffnen mit "w" für Absicht zu schreiben
fwrite($dz, $Text); -> effektives schreiben
close ($dz); -> das ganze wieder schliessen

Card 8

Question

Sessions:

<?php
session_start(); ?>


a) Was bewirkt dieser Code?

b) Was muss bei Sessions beachtet werden?

Answer

a) Erzeugt eine Session oder nimmt die aktuelle wieder auf, die auf der Session-Kennung basiert, die mit einer GET- oder POST-Anfrage oder einem Cookie übermittelt wurde.

b) gut für zum Informationen übergeben resp. über den Benutzer zu speichern. Webserver kann so identifizieren und Infos laden

Am Schluss die Session zerstören

// remove all session variables
session_unset(); 

// destroy the session 
session_destroy(); 

Card 9

Question

a) Wozu werden Cookies in PHP eingesetzt? Wie erstellen Sie ein Cookie?

b) Welche 3 Parameter müssen für die Erstellung eines Cookies mitgegeben werden?

Answer

a)

setcookie() - Cookies machen das Surfen im Internet leichter. Personalisierung (Apassung von Angeboten), Nutzungsanalysen (wann besucht wer was)? Cookies uns Werbung (zugeschnittene Werbung)

b) setcookie("username", "Max", time()+(3600*24));

Erste Angabe: Name des Cookies

Zweite Angabe: Wert der im Cookie gespeichert wird

Dritte Angabe: Zeit wielange der Cookie gültig ist in sekunden

löschen = setcookie("username","Max",time() - (3600 * 24));

Card 10

Question

Schreiben Sie ein PHP-Skript, das die Zahlen 1 – 100 auf einer Webseite ausgibt. Nach jeweils 10 Zahlen soll auf eine neue Zeile geschrieben werden. Die Zahlen sollen mit Hilfe von Schleifen erzeugt werden.

Answer

for($i=0; $i<=100; $i++){

echo "$i";

if(($i % 10) == 0 {

echo "<br>";

   }

}

Card 11

Question

Notieren Sie den PHP-Code, um zu überprüfen, ob der Verbindungsaufbau zur DB geklappt hat. Falls der Verbindungsaufbau nicht geklappt hat, soll die Fehlermeldung „keine Verbindung“ ausgegeben werden.

Answer

$db = mysqli_connect("localhost", "Benutzername", "Passwort", "Datenbankname");
if(!$db) {

exit("Verbindungsfehler: ".mysqli_connect_error());

}

Objektorientiert

$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');
if ($mysqli->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
}
?>

Prozedural

$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');

if (!$link) {
    die('Connect Error: ' . mysqli_connect_error());
}
?>

Card 12

Question

Holen Sie Daten aus einem Formular und weisen Sie diese den Variablen $username und $passwort zu. Verschlüsseln Sie das Passwort mit md5 und weisen Sie das Ergebnis der Variablen $pass zu.

Answer

$username = $_POST['username'];

$passwort = $_POST['password'];

$pass = md5($passwort);

Card 13

Question

In PHP können Werte miteinander verglichen werden. Was bedeuten die Vergleichsoperatoren «=», «==» und «===»? Wie kann auf Ungleichheit geprüft werden?

Answer

= Zweisungsoperator

== wen gleich ist

=== wenn gleich ist und selber Typ

!= Wenn ungleich

!== nicht identisch

Card 14

Question

a) Wie wird in PHP die Datei info.txt zum Lesen geöffnet und über die DateiHandle-Variable $file verfügbar gemacht?
b) Welche Parameter könnten noch genutzt werden anstelle von "r"?

Answer

a)

$file = file_get_contents('info.txt');

$file = fopen($filename, "r");

$filename = '\test.txt';
$file = file($filename);
for($i=0;$i < count($file); $i++){
   echo $i.": ".$file[$i]."<br><br>";
}

 

oder 

$inhalt = file("test.txt");

$anzahl = count($inhalt);

for ($i = 0; $i<=($anzahl-1); $i++) {
echo $inhalt[$i]."<br/>";

}

 

b) 

a+ append - anfügen lesen und schreiben,

a append - anfügen nur schreiben,

w+ write - schreiben lesen und schreiben,

w write - schreiben nur schreiben,

r+ read - lesen lesen und schreiben,

r    read - lesen nur lesen

Card 15

Question

a) Wie lässt sich die Variable $var in einer PHP-Funktion ein Parameter als "Call by Reference" übergeben?
b) Welche Alternative gibt es zu "Call by Reference" und was ist der Unterschied?

Answer

a) $new =& $var;

b) Call by Value = Wert mitgeben, so wird die ursprüngliche Referenz nicht verändert

Card 16

Question

a) Welches ist der korrekte Aufruf, um dem Skript „berechnung.php“ mit der Methode "get" eine Zahl zu übergeben?
b) Wie kann ich im File "berechnung.php" auf die übergebene Variable zugreifen?

Answer

a)

<form action=""berechnung.php" method="GET">
<input type="number" name="zahl">
<input type="submit" value="senden">
</form>

b) $variable = $_GET['zahl'];

Card 17

Question

a) Wie wird in einem PHP-Skript der Inhalt eines Formularfeldes namens betrag ausgelesen, wenn die Anfrage mit POST übertragen wurde?
b) Wie können Sie überprüfen, ob wirklich eine Zahl eingegeben wurde?

Answer

a) $variable = $_POST['betrag'];

b) is_numeric($variable);

Card 18

Question

Welche Datentypen kennt PHP und wie müssen Variablen deklariert werden?

Answer

boolean, integer, Float, string, Array, iterable, object, null

 

Eine explizite Deklaration und Initialisierung lässt sich natürlich ebenfalls machen und wird im Allgemeinen auch als saubere Programmierung betrachtet. Dabei wird allen Variablen vor ihrem ersten möglichen(!) Auftreten entweder ein neutraler oder ein Standard-Wert zugewiesen. Dies kann zum Beispiel am Anfang der Datei oder vor einer Schleife sein, in der die Variable verwendet werden soll. Die Zuweisung erfolgt generell über den Zuweisungsoperator =.

$variable = 0; // Deklaration und Initialisierung als INTEGER (Ganzzahl)
$text = “”; // string (Zeichenkette)

Card 19

Question

Wie definieren Sie in PHP die Konstante Mehrwertsteuer ist 0.08?

Answer

define("Mehrwertsteuer", 0.08);

Card 20

Question

Weshalb realisieren Sie für Ihre Kunden lieber eine dynamische PHP-Seite, als dass Sie JavaScript-Elemente in die Webseiten des Kunden einbauen?

Answer

Weil JavaScript vom Client her aus abgeschaltet werden kann, oder der Browser nicht alles korrekt interpretiert (Version, alter etc.) PHP ist Server-Seitig und gibt die Anweisungen so an den Browser weiter (immer)

How to use this set

Read the preview and check whether the content and answers suit your learning goal. You can add the public set to your sets to study it. Your account shows the available actions.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.