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

Poprawiłem filtrowanie czy teraz już nic nie przejdzie?

Object Storage Arubacloud
0 głosów
566 wizyt
pytanie zadane 23 kwietnia 2015 w PHP przez makoso Mądrala (7,380 p.)

wcześniej umieściłem post z moim filtrowaniem https://forum.pasja-informatyki.pl/12848/zabezpieczanie-php-sql

przeszedłem na mysqli i tak teraz prezentuje się moje filtrowanie chce mieć pewność 100% że nic mi w bazę niepotrzebnego nie wejdzie 


$ip = $_SERVER['REMOTE_ADDR'];
$imie=$_POST[imie];
$nazwisko=$_POST[nazwisko];
$poczta=$_POST[poczta];
$miejscowosc=$_POST[miejscowosc];
$ulica=$_POST[ulica];
$nrdomu=$_POST[nrdomu];

$imie=htmlentities($imie, ENT_QUOTES,"UTF-8");
$nazwisko=htmlentities($nazwisko, ENT_QUOTES,"UTF-8");
$poczta=htmlentities($poczta, ENT_QUOTES,"UTF-8");
$miejscowosc=htmlentities($miejscowosc, ENT_QUOTES,"UTF-8");
$ulica=htmlentities($ulica, ENT_QUOTES,"UTF-8");
$nrdomu=htmlentities($nrdomu, ENT_QUOTES,"UTF-8");
$imie = substr(addslashes(htmlspecialchars($imie)),0,32);
$nazwisko = substr(addslashes(htmlspecialchars($nazwisko)),0,32);
$poczta = substr(addslashes(htmlspecialchars($poczta)),0,32);
$miejscowosc = substr(addslashes(htmlspecialchars($miejscowosc)),0,32);
$ulica = substr(addslashes(htmlspecialchars($ulica)),0,32);
$imie = mysqli_real_escape_string($polaczzbaza, $imie);
$nazwisko = mysqli_real_escape_string($polaczzbaza, $nazwisko);
$poczta = mysqli_real_escape_string($polaczzbaza, $poczta);
$miejscowosc = mysqli_real_escape_string($polaczzbaza, $miejscowosc);
$ulica = mysqli_real_escape_string($polaczzbaza, $ulica);
$nick = mysqli_real_escape_string($polaczzbaza, $nick);

Co powiecie?

4 odpowiedzi

+3 głosów
odpowiedź 23 kwietnia 2015 przez Mister123450 Dyskutant (8,700 p.)
Polecam: PrestaShop, eCommerce, kod masz gotowy, tylko klikasz i ustawiasz, i masz sklep internetowy.

Niestety jeszcze nie ma skryptu na materialną wysyłkę produktów.
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)
Wartościowy wpis:)
+1 głos
odpowiedź 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)

Jezus Maria...

Nic nie przejdzie! NIC! Pokonałeś logikę!

◕‿◕

 

A tak na serio, patrz na PDO i bindParam :>

komentarz 23 kwietnia 2015 przez HaKIM Szeryf (87,590 p.)
komentarz 23 kwietnia 2015 przez makoso Mądrala (7,380 p.)
prubowałem sił z PDO wydawało mi się do ogarnięcia ale jakoś mi to nie wychodziło więc póki co zrezygnowałem z tego
1
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)
komentarz 23 kwietnia 2015 przez HaKIM Szeryf (87,590 p.)
Jeśteśmy śpytni, panie Efik. ^^
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)
makoso, to inforuję Ciebie zatem, że fukcje które używasz są przestarzałe i z najnowszym wydaniem PHP zostaną one usunięte, a Twoja aplikacja nie będzie mogła być dalej rozwijana.

http://php.net/manual/en/pdostatement.bindparam.php

Przykłady masz jak na dłoni, pokombinuj trochę, a połączenie z pdo łap w try catch blok.
komentarz 23 kwietnia 2015 przez HaKIM Szeryf (87,590 p.)

No i się chop załomoł.

A my jeśteśmy śprytni. : # :*

#Wredny.

:-)

komentarz 23 kwietnia 2015 przez makoso Mądrala (7,380 p.)
ej no przejrzałem manuala i niema nic o tym aby te funkcje miały zniknąc -.-
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)
Zostały one oznaczone jako deprecated :P

https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7
komentarz 23 kwietnia 2015 przez makoso Mądrala (7,380 p.)
sory ale nigdzie tam nie ma nic o:
 

htmlentities

ENT_QUOTES

substr

addslashes

htmlspecialchars

mysqli_real_escape_string

więc co wywalają lub też gdzie wywalają bo ja nic nie znalazłem -.-
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)
edycja 23 kwietnia 2015 przez efiku
Przepraszam, nie chce być nie miły, ale jeżeli robisz sklep internetowy z TAKIM kodem, to błagam Cię nie puszczaj na produkcję tego kodu. Jeżeli robisz to dla siebie, to ucz się dalej, coraz lepiej idzie! Nie oceniam Ciebie, tylko Twój kod, także nie bierz tego do siebie :)

 

#up chodziło mi o mysql_* ale widzę, że używasz mysqli_ , mój błąd, ale używaj PDO, co więcej. Inne funkcje które używasz jasne, że zostają.
Pozdrowienia:)

Odpowiadajac na pytanie, czy jest bezpieczniy, haha tak jest w cholere bezpieczny.
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)

$nrdomu=$_POST[nrdomu];

a nie czasem:
 

$nrdomu=$_POST["nrdomu"];

komentarz 23 kwietnia 2015 przez makoso Mądrala (7,380 p.)

Robię ten sklep ucząc się dla znajomej i siostry i cały czas powoli do przodu (jest to moje pierwsze styknięcie z bazami danych) ale porobiłem sobie takie rzeczy jak koszyk, koszyk dla niezalogowanych trochę trudności miałem tutaj ale poszło dalej już łatwiej przekształcanie koszyka niezalogowanego na koszyk nowo zarejestrowanego jeżeli zakumałeś o co mi chodzi robię wszelkie rzeczy jakie powinnien mieć sklep czemu mówisz abym nie puszczał w "produkcję" tego wszystko działa jak należy spędziłem już nad nim trochę czasu wczoraj bardzo się zdenerwowałem jak dowiedziałem się że mysql będzie "wycofany" i trochę mi zajeło zapoznanie się z dość prostym mysqli ale i tak zmiana kodu pod mysqli zajeła mi cały dzień(kilka godzin) :) jak będzie wszystko działało czemu mam nie oddać go do użytku zamówienia będę potwierdzał mailowo będzie panel własciciela itp teraz już lecę z górki staram się robić tak jak mi wychodzi testuje nie działa kombinuję aż zrobię :) wiem że PDO to teraz podstawa ale jakoś tego nie potrafię złapać jak znasz może jakiś fajny kurs online możesz podesłać linka :)

a co do  efik to tak powinny być ['nrdomu'] nie wiem czemu zapomniałem tutaj tym bardziej nie wiem czemu działa myślałem że są wymagane :)

komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)
edycja 23 kwietnia 2015 przez efiku

Kurs pdo: https://www.youtube.com/watch?v=QtCdk459NFg  taki szybki i ładnie pokazuje :) 

Twój przykład zaczyna się chyba od 6 części. 

"robię wszelkie rzeczy jakie powinnien mieć sklep czemu mówisz abym nie puszczał w "produkcję" tego wszystko działa jak należy spędziłem [...]" - nie będę Cię zniechęcał, w takim razie potraktuj to jako takie info, że to jest autorski kod i że będą z tego systemu korzystać inni użytkownicy, ale jeśli przechodzi testy i robi to co oczekujesz, to pochwal się kiedyś linkiem i aplikacją.  

Hehe zawieś sobie taką karteczkę na ścianie: [PHP] za rok zerknę na kod mojego sklepiku jeszcze raz:) 

Coś czuję, że za kilka mies, zobaczymy znów jakiś fragment Twojego kodu sklepiku bo będziesz robił refaktor pod obiektówkę;-)

 

<?php
/* Execute a prepared statement by binding PHP variables */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();

 

komentarz 23 kwietnia 2015 przez makoso Mądrala (7,380 p.)
edycja 23 kwietnia 2015 przez makoso
zawiesiłeś mnie ale idę dalej po tym komentarzu dokończę sklep w stylu w którym robie :) potem wezmę się za PDO i pobawię się tym robiąc od podstaw mój serwis esportinfo.pl :) tutaj co tydzień nowy koncept mam ;)

 

a sklepik można podglądać narazie tutaj :)
http://sklep-r.esy.es/nowa/nowa.php w kilku miejscach wyświetlam sobie niektóre informacje w celach testu wiele walidaci nie pokazuje informacji ale wystarczy spojrzeć w link (taki sobie sposób "walidacji" wybrałem if(){header i exit na wszelki wypadek} )

ale już można niektóre rzeczy robić jak logowanie rejestracja dodawanie do koszyka "finalizacja zamówienia" tylko wyświetlam info maili jeszcze nie rozsyłam :)

 

nie oceniaj wyglądu tylko bo to tak dla szkieletu na koniec pwnie sporo się zmieni :)
komentarz 23 kwietnia 2015 przez makoso Mądrala (7,380 p.)
do 6 linijki to rozumiem bo jako tako sporo jest tak jak w mysqli :)
ale dalej :: to już chyba z c++ zaczerpnięte :)

jutro sobie pooglądam o PDO poczytam :)

 

a tego gościa co wysłałeś filmik obejrzałem 8 odcinków wczoraj niezałapałem i postanowiłem zrobić mysqli (znalazłem jak szukałem alternatywy dla mysql)
próbowałem tak jak on i coś mi nie pykło :)
komentarz 23 kwietnia 2015 przez HaKIM Szeryf (87,590 p.)
Zainteresuj się również wzrocem projektowym, MVC. : )

http://pl.wikipedia.org/wiki/Model-View-Controller

Linczur do Wiki. ;)
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)
edycja 23 kwietnia 2015 przez efiku

makoso, http://php.net/manual/en/pdo.constants.php

wyglądu nie oceniam, tylko kod:)

Podsumowując, baw się z PDO. Ta wiedza nie pójdzie na marne, zrób sobie osobny katalog i wsadzaj sobie tam ćwiczenia :) 

http://pl.phptherightway.com/#bazy_danych

Patrz tam przykład z 

$_GET['id']

:>

komentarz 23 kwietnia 2015 przez makoso Mądrala (7,380 p.)
dzięki efik super stronka szczególnie dlatego że po PL i na przykładach porządnie tłumaczone z manualem ciężko mi idzie :)
komentarz 23 kwietnia 2015 przez efiku Szeryf (75,160 p.)
Spoko, poczytaj dobrze, ale uważam, że najbardziej wartościowa odpowiedź to Mistera jest :)
komentarz 23 kwietnia 2015 przez makoso Mądrala (7,380 p.)
tylko właśnie ja chcę sam od początku do końca :)
komentarz 15 listopada 2016 przez makoso Mądrala (7,380 p.)

@efik

Hehe zawieś sobie taką karteczkę na ścianie: [PHP] za rok zerknę na kod mojego sklepiku jeszcze raz:) 

Tak sobie przeglądam moje stare pytania i czytam to co wyżej więc odpowiadam ;)
Miałeś rację, nawet nie muszę spoglądać ;) 
Pozdrawiam ;) 

komentarz 15 listopada 2016 przez HaKIM Szeryf (87,590 p.)

W mordę!

Żeś mi człowieku przypomniał o CodeIgniterze, aż mnie ciary przeszły...

Efikowi dzięki, że mi go wyplewił z głowy! Brrr... Aż nie chcę sobie wyobrażać, że nadal pisałbym kod obejmujący PHP 5.3.7

5.3.7

Released: 18 August 2011

https://secure.php.net/releases/  - Także ten...

Zastanawia mnie jedno... Czy Oni wiedzą, że PHP ewoluuje jak i nowe, lepsze, narzędzia powstają do bardziej komfortowej pracy z nim?

Anyway, miłego dnia (Choć, teraz to raczej wieczoru).

0 głosów
odpowiedź 23 kwietnia 2015 przez HaKIM Szeryf (87,590 p.)

>_<

Co za dużo, to nie zdrowo.

I tak z innej beczki.

Jak jakiś hacker [Tak, wiem że hacker to osoba o sporych umiejętnościach] będzie chcial się włamać, to i tak się włamie. :) 

komentarz 23 kwietnia 2015 przez makoso Mądrala (7,380 p.)
edycja 23 kwietnia 2015 przez makoso

ale działa i zawsze trochę ubezpieczenie a rejestracja jak i logowanie mogą się milisekundę później odbywać :) mam jeszcze pytanko czy jak przemuszczę hasło przez hashowanie 

  • sha1
  • md5
  • hash
  • crc32
  • crypt
  • i jeszcze zakoduje base64


    to chyba zwiększy poziom bezpieczeństwa przy bezpośrednim włamaniu się do bazy danych?
komentarz 23 kwietnia 2015 przez HaKIM Szeryf (87,590 p.)

Masz, użyj wszystkich:

md2           32 a9046c73e00331af68917d3804f70655                   
md4           32 866437cb7a794bce2b727acc0362ee27 
md5           32 5d41402abc4b2a76b9719d911017c592 
sha1          40 aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d 
sha256        64 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e730 
sha384        96 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553 
sha512       128 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2d 
ripemd128     32 789d569f08ed7055e94b4289a4195012 
ripemd160     40 108f07b8382412612c048d07d13f814118445acd 
ripemd256     64 cc1d2594aece0a064b7aed75a57283d9490fd5705ed3d66bf9a 
ripemd320     80 eb0cf45114c56a8421fbcb33430fa22e0cd607560a88bbe14ce 
whirlpool    128 0a25f55d7308eca6b9567a7ed3bd1b46327f0f1ffdc804dd8bb 
tiger128,3    32 a78862336f7ffd2c8a3874f89b1b74f2 
tiger160,3    40 a78862336f7ffd2c8a3874f89b1b74f2f27bdbca 
tiger192,3    48 a78862336f7ffd2c8a3874f89b1b74f2f27bdbca39660254 
tiger128,4    32 1c2a939f230ee5e828f5d0eae5947135 
tiger160,4    40 1c2a939f230ee5e828f5d0eae5947135741cd0ae 
tiger192,4    48 1c2a939f230ee5e828f5d0eae5947135741cd0aefeeb2adc 
snefru        64 7c5f22b1a92d9470efea37ec6ed00b2357a4ce3c41aa6e28e3b 
gost          64 a7eb5d08ddf2363f1ea0317a803fcef81d33863c8b2f9f6d7d1 
adler32        8 062c0215 
crc32          8 3d653119 
crc32b         8 3610a686 
haval128,3    32 85c3e4fac0ba4d85519978fdc3d1d9be 
haval160,3    40 0e53b29ad41cea507a343cdd8b62106864f6b3fe 
haval192,3    48 bfaf81218bbb8ee51b600f5088c4b8601558ff56e2de1c4f 
haval224,3    56 92d0e3354be5d525616f217660e0f860b5d472a9cb99d6766be 
haval256,3    64 26718e4fb05595cb8703a672a8ae91eea071cac5e7426173d4c 
haval128,4    32 fe10754e0b31d69d4ece9c7a46e044e5 
haval160,4    40 b9afd44b015f8afce44e4e02d8b908ed857afbd1 
haval192,4    48 ae73833a09e84691d0214f360ee5027396f12599e3618118 
haval224,4    56 e1ad67dc7a5901496b15dab92c2715de4b120af2baf661ecd92 
haval256,4    64 2d39577df3a6a63168826b2a10f07a65a676f5776a0772e0a87 
haval128,5    32 d20e920d5be9d9d34855accb501d1987 
haval160,5    40 dac5e2024bfea142e53d1422b90c9ee2c8187cc6 
haval192,5    48 bbb99b1e989ec3174019b20792fd92dd67175c2ff6ce5965 
haval224,5    56 aa6551d75e33a9c5cd4141e9a068b1fc7b6d847f85c3ab16295 
haval256,5    64 348298791817d5088a6de6c1b6364756d404a50bd64e645035f

A tak serio, to nie przesadzaj. 

Twoja strona chyba nie ma jakichś meeeega tajnych danych.

komentarz 23 kwietnia 2015 przez makoso Mądrala (7,380 p.)
no nie ale co mi szkodzi "porządnie" zabezpieczyć dane klientów (robię sklep internetowy)
0 głosów
odpowiedź 23 kwietnia 2015 przez CzlowiekSkrypt Nałogowiec (26,340 p.)
Niezła sieczka, jak już się wkręciłeś to zainteresuj się programowaniem obiektowym, zrobiłbyś jeden obiekt walidujący przesyłane dane i zaoszczędziłoby to kodu, jak byś był wprawiony to czasu a i wyglądałoby to ładnie :)

Podobne pytania

0 głosów
1 odpowiedź 767 wizyt
pytanie zadane 8 grudnia 2015 w PHP przez Mateusz11 Pasjonat (22,910 p.)
+1 głos
2 odpowiedzi 879 wizyt
+1 głos
0 odpowiedzi 129 wizyt

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...