Prosty panel administracyjny z wysyłką sms

0

Cześć, od miesiąca uczę się PHP i postanowiłem napisać sobie panel administracyjny z możliwością podwójnej autoryzacji. Napisałem taki kod (logowanie po jquery). Czy może mi ktoś powiedzieć, czy moje dzieło jest w pełni bezpieczne?

HTML/JS
http://4programmers.net/Pastebin/5825

loginform.php
http://4programmers.net/Pastebin/5822

sqlcon.php
http://4programmers.net/Pastebin/5823

2auth.php
http://4programmers.net/Pastebin/5824

a tak sprawdzam czy użytkownik jest zalogowany czy nie

if($_SESSION['browser'] == $_SERVER['HTTP_USER_AGENT'] && $_SESSION['ip'] == $_SERVER['REMOTE_ADDR'] && $_SESSION['login'] == 1)
{
	echo'zalogowany';
}
else
{
echo'niezalogowany';
exit;
}
0
  1. Zamiast mysql PDO i poczytać o wiązaniu parametrów do zapytania (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php?answertab=active#tab-top)
  2. Zamiast md5: http://php.net/manual/en/function.password-hash.php
  3. A co jak ktoś JS wyłączy ?
0
  1. Nie wykorzystuj MD5 do hashowania (poczytaj w internecie o szczegółach).
  2. Czy istnieje chociaż jeden powód, dla którego stripujesz tagi HTML z hasła oraz wyczyniasz z nim masę innych cudacznych operacji, skoro i tak je ostatecznie hashujesz?
  3. Rozszerzenie mysql jest zdeprecjonowane oraz zostało usunięte z PHP, wykorzystaj PDO.
  4. Praktycznie nigdy nie powinieneś porównywać niczego przez operator ==, wykorzystuj === (klasyka każdego początkującego w PHP: http://stackoverflow.com/questions/22140204/why-md5240610708-is-equal-to-md5qnkcdzo)
  5. Powinieneś z założenia pisać samo-komentujący się kod. Jeśli potrzebujesz komentarza, aby wiedzieć, co robi if($licz_code==1), powinieneś zrefakoryzować cały kod.
  6. Pobierasz jakiś rekord z tabeli admins, lecz w żadnym miejscu go nie wykorzystujesz (ani nawet nie sprawdzasz, czy tak naprawdę ten wpis się pobrał!).
  7. Nie wykorzystuj funkcji rand (zadanie domowe: poczytać dlaczego).
  8. Oprócz tego klasyka, czyli: nic nie mówiące nazwy zmiennych, za dużo poziomów wgłębienia w ifach.

Edit: moje uwagi przede wszystkim tyczą się pliku 2auth.php, co do reszty to się nie przyglądałem specjalnie, ponieważ ciężko przez to przebrnąć.

2
Tumeg napisał(a):
  1. A co jak ktoś JS wyłączy ?

A co to kogo obchodzi? Dzisiaj strona bez js sie nie sprzeda. Zresztą aktualnie robię strony oparte o angular i vue więc jak ktoś wyłączy to nie wejdzie i trudno jego sprawa, tak samo jak korzystanie powiedzmy z ie9/10 którego też nie wspieram.

1 użytkowników online, w tym zalogowanych: 0, gości: 1