9. Komunikator internetowy - podsłuchiwanie aplikacji webowych

Transkrypt

9. Komunikator internetowy - podsłuchiwanie aplikacji webowych
9. Komunikator internetowy - podsłuchiwanie aplikacji webowych
Podczas korzystania z Internetu z wykorzystaniem bezpłatnych hot spotów w miejscach publicznych należy zwrócić uwagę, że nieszyfrowany ruch
generowany przez nasze urządzenie (telefon, tablet, netbook, laptop) może być rejestrowany, a prywatność przesyłanych danych może być
naruszona.
1. Stwórz prostą aplikację typu czat na podstawie własnej koncepcji lub na bazie dowolnego przykładu dostępnego w Internecie lub załączonego
w tej instrukcji. Jeśli korzystasz z poniższego przykładu – utwórz na swoim hostingu plik index.php i przekopiuj do niego poniższy przykład.
<?php
$godzina = date('H:i:s', time());
$user = $_POST['user'];
$post = $_POST['post'];
if (IsSet($_POST['post'])) {
$wpis = '<table border=”1” width="90%">
<tr><td>'.$post.'</td><td width="80">' . $user . '</td><td width="60" bgcolor="yellow">'.$godzina.'</td></tr></table><br>';
$plik = fopen ("zapis.txt", "a+");
fwrite ($plik, $wpis);
}
?>
<form method="POST">
<br>
Nick:<input type="text" name="user" maxlength="10" size="10"><br>
Post:<input type="text" name="post" maxlength="90" size="90"><br>
<input type="submit" value="Send"/>
</form>
Posty:
<br>
<? include ("zapis.txt");?>
<br>
2.
3.
4.
5.
6.
Powyższy przykład wykorzystuje mechanizm przechowywania konwersacji w pliku tekstowym na dysku. Utwórz w tym samym katalogu plik
zapis.txt i jeśli jest taka potrzeba nadaj mu prawo zapisu dla wszystkich użytkowników. Jeśli korzystasz z hostingu na serwerze
unixowym/linuxowym – ustaw prawo „w” (write) do tego pliku dla użytkowników należących do tej samej grupy co właściciel pliku oraz
pozostałych użytkowników.
Przetestuj skrypt wpisując Nick użytkownika oraz Post, następnie naciśnij klawisz Send. Zwróć uwagę, że kolejne posty wyświetlane są coraz
niżej na ekranie.
Uruchom narzędzia webmasterskie zainstalowane w swojej przeglądarce i przyjrzyj się opcjom umożliwiającym ustalenie błędów w skryptach.
Jeśli nie posiadasz żadnych rozszerzeń przeglądarki, umożliwiających uzyskanie pomocy podczas tworzenia stron – możesz je szybko
zainstalować lub np. skorzystać z IE, który posiada takie opcje wbudowane na stałe. Wyświetl w nim swój portal i klikając na ekranie
przeglądarki wybierz opcję „Pokaż źródło”. Przejrzyj funkcjonalność poszczególnych zakładek, sprawdź komunikaty o błędach wyświetlane na
zakładce Konsola.
Z wykorzystaniem wybranego oprogramowania podsłuchaj dane wysyłane i odbierane do i ze swojego komputera do hostingu. Porównaj te
dane z danymi np. wprowadzanymi do przeszukiwarki Google oraz danymi wprowadzanymi podczas logowania do poczty elektronicznej.
Powyższy skrypt można również podzielić na dwie części i umieścić w dwóch osobnych plikach np. index.php oraz dodaj.php. W takiej sytuacji,
należy rozszerzyć informację w pierwszym wierszu pliku index.php o deklarację „action”, informującą dokąd przesłać dane z formularza.
<form method="POST" action="dodaj.php">
<br>
Nick:<input type="text" name="user" maxlength="10" size="10"><br>
Post:<input type="text" name="post" maxlength="90" size="90"><br>
<input type="submit" value="Send"/>
</form>
7.
Posty:
<br>
<? include ("zapis.txt");?>
<br>
<?php
$godzina = date('H:i:s', time());
$user = $_POST['user'];
$post = $_POST['post'];
if (IsSet($_POST['post'])) {
$wpis = '<table border=”1” width="90%">
<tr><td>'.$post.'</td><td width="80">' . $user . '</td><td width="60"
bgcolor="yellow">'.$godzina.'</td></tr></table><br>';
$plik = fopen ("zapis.txt", "a+");
fwrite ($plik, $wpis);
}
?>
Przy takim podziale skryptu należy również uwzględnić konieczność ładowania skryptu index.php po każdym uruchomieniu skryptu dodaj.php.
8.
Z wykorzystaniem technologii ciasteczek zmodyfikuj skrypt komunikatora w taki sposób, aby na danej przeglądarce internetowej nick
użytkownika wprowadzać tylko raz, po to, aby można było prowadzić bardziej komfortową wymianę komunikatów np. między dwiema
różnymi przeglądarkami.
9. Zwróć uwagę, że przesłanie tekstu z jednej przeglądarki nie generuje automatycznego odświeżenia okna drugiej przeglądarki, na której
również jest uruchomiona aplikacja.
10. Zmodyfikuj aplikację w ten sposób, aby konwersacja oraz nick użytkowników był zapisywany w tabeli bazy danych o następującym formacie:
idk
komunikat
nick
data/godzina
11. Rozbuduj komunikator o dodatkowe funkcje:
a. Wyświetlanie komunikatów od najnowszych do najstarszych – wykorzystaj Select do BD z Order by wg id DESC (malejąco)
b. Wyświetlanie komunikatów poszczególnych użytkowników w innych kolorach.
c. Zrealizuj rejestrację i logowanie się użytkownika do portalu.
12. W trakcie logowania wykorzystaj oprogramowanie umożliwiające podsłuchiwanie danych przesyłanych z portalu do hostingu.
13. Zgłoś zakończenie realizacji zadania i prześlij sprawozdanie na mail wskazany przez prowadzącego zajęcia.

Podobne dokumenty