• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

bezpieczenstwo kodu,php-połączenie z baza danych i dodawanie danych

Object Storage Arubacloud
0 głosów
285 wizyt
pytanie zadane 3 maja 2018 w PHP przez Damian Prymus Początkujący (380 p.)

Witam. 

Chciałbym się zapytać czy ten kod jest jjuż bezpieczny? czy jeszzcze coś muszę dodać?. wiem ze muszę jeszcze captcha dodać na boty i jesszcze kiedyś słyszałem o jakimś zabezpieczniu  do blogów ale kurczę wyleciało mi z głowy... z górdzy dziękuję za pomoc..

<?php
require_once"dbconect.php";
$conn = mysqli_connect($host, $db_user, $db_password,$db_name);
$conn->set_charset("utf8");
// Check connection

if ($conn->connect_error) {
		die("Connection failed: " . $conn->connect_error);
	}


echo "Connected successfully";
if (isset($_POST['name']) && isset($_POST['surname']) && isset($_POST['gender']) && isset($_POST['city']) && isset($_POST['Dateofbirth']) && isset($_POST['street']) && isset($_POST['number'])&& isset($_POST['zipcode']) && isset($_POST['phone']) && isset($_POST['email'])&& isset($_POST['distance'])&& isset($_POST['team']) ){ 
	
$name = trim(strip_tags($_POST['name']));
$surname = trim(strip_tags($_POST['surname']));
$gender = trim(strip_tags($_POST['gender']));
$city  = trim(strip_tags($_POST['city'])); 
$Dateofbirth  = trim(strip_tags($_POST['Dateofbirth']));
$street  = trim(strip_tags($_POST['street']));
$number  = trim(strip_tags($_POST['number']));
$zipcode  = trim(strip_tags($_POST['zipcode']));
$phone  = trim(strip_tags($_POST['phone']));
$email  = trim(strip_tags($_POST['email']));
$distance  = trim(strip_tags($_POST['distance']));
$team  = trim(strip_tags($_POST['team']));

}
else{
	echo 'nie isinieja';
}
if ('$distance' ==='mini'){
	echo 'dodano';
}
if ('$distance' ==='mega'){
	echo 'dodano';
}
if ('$gender' ==='women'){
	echo 'dodano';
}
if ('$gender' ==='men'){
	echo 'dodano';
}

$stmt = $conn->prepare("INSERT INTO tab (name,surname ,gender,city,Dateofbirth,street,number,zipcode,phone,email,distance,team) values (?,?,?,?,?,?,?,?,?,?,?,?)");

$stmt->bind_param("ssssssisssss",$name,$surname,$gender,$city,$Dateofbirth,$street,$number,$zipcode,$phone,$email,$distance,$team);
$stmt->execute();
if ($stmt!=TRUE){
echo"nie dodano";}
else{
echo'dodano'; }

//$wynik = mysqli_query($conn,"SELECT * FROM xyz");

//while($row = mysqli_fetch_array($wynik))

//{echo $row['name'] . " " . $row['surname']; echo "<br>"; }

$stmt->close();
$conn->close();
?>

 

3 odpowiedzi

+1 głos
odpowiedź 3 maja 2018 przez 0e85dc6eaf Dyskutant (8,840 p.)
Tak teraz dopiero zauważyłem. Używasz funkcji strip_tags, ale co jeśli którakolwiek z tych wartości pojawi się jako atrybut? Wtedy dalej będzie możliwość XSSa.
komentarz 3 maja 2018 przez Damian Prymus Początkujący (380 p.)
Chodzi Ci o scrypt który można umiescić  w  jakimś polu??.. o tym nie pomysłaem w sumie to zapomiałem o tym..
komentarz 3 maja 2018 przez 0e85dc6eaf Dyskutant (8,840 p.)
tak (w sensie kiedy będziesz to później wyświetlał gdzieś)
komentarz 3 maja 2018 przez Damian Prymus Początkujący (380 p.)
okey, czaje. Dziękuję :)
0 głosów
odpowiedź 3 maja 2018 przez Mariusz08 Maniak (62,300 p.)
if ('$distance' ==='mini'){
    echo 'dodano';
}
if ('$distance' ==='mega'){
    echo 'dodano';
}
if ('$gender' ==='women'){
    echo 'dodano';
}
if ('$gender' ==='men'){
    echo 'dodano';
}

???

ssssssisssss

Skąd to się tutaj wzięło?

komentarz 3 maja 2018 przez Damian Prymus Początkujący (380 p.)
1. jest po2 boola  nie wiedziałem jak to inaczej rozwiązać. i w sumie ten warunek działa.

2. jak wycztyałem to ten ciąg esek i jednej int oznacza  listę typów danych. Robiłem tak jak jest w dokumentacji..
komentarz 3 maja 2018 przez 0e85dc6eaf Dyskutant (8,840 p.)

czemu nie

$distance === 'mega'

przecież w taki sposób to jak masz to teraz zapisane to zawsze zwróci false

komentarz 3 maja 2018 przez Damian Prymus Początkujący (380 p.)
$distanse=='mega' to będzie ok?
–2 głosów
odpowiedź 3 maja 2018 przez ___Shell___ Nowicjusz (180 p.)
Prawdopodobnie nie bo nie hashujesz
komentarz 3 maja 2018 przez Damian Prymus Początkujący (380 p.)
O kurcze, czytałem o tym kiedyś ale wydawało mi się ze hashowanie jest tylko do haseł...
komentarz 3 maja 2018 przez Mariusz08 Maniak (62,300 p.)

@___Shell___,

Co w tym skrypcie jest do zahashowania?

komentarz 3 maja 2018 przez Damian Prymus Początkujący (380 p.)
No moim zdaniem  nie ma czego zahaszować. No chyba ze serio żle rozumie haszowanie.
komentarz 3 maja 2018 przez Mariusz08 Maniak (62,300 p.)
Ty dobrze rozumiesz, w tym skrypcie nie ma czego hashować.
komentarz 3 maja 2018 przez Damian Prymus Początkujący (380 p.)
Uf. Jest coś czego mozna się czpić w tym skrypcie?. Nie jestem pewien czy jest dobrze napisane.Na local hoscie sprawdzałem  zastrzyki i  było ok .Kasowałem bazę i tylko w bazie było wypisane co było dodane  w kazdym okineku...

Podobne pytania

+1 głos
1 odpowiedź 265 wizyt
pytanie zadane 24 lutego 2022 w SQL, bazy danych przez Piotrek2713 Mądrala (5,500 p.)
0 głosów
1 odpowiedź 213 wizyt
0 głosów
1 odpowiedź 374 wizyt
pytanie zadane 8 grudnia 2017 w PHP przez Vorex444 Dyskutant (9,610 p.)

92,760 zapytań

141,684 odpowiedzi

320,470 komentarzy

62,104 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...