taro

Reputacja

71

Głosów ogółem

użytkownik głosował za tyle razy
6
Użytkownik głosował przeciw tyle razy
0
  • Roczniak
  • Popularne pytanie
Członek od
2 lata, 3 miesiące
Ostatnio widziany
1 rok, 3 miesiące temu

Pytania: 1

Odpowiedzi: 10

  • 2010-02-21 12:33:56 SQL injection - bezpieczeństwo

    Przed SQL ijnection można zabezpieczyć się na kilka sposobów. Przede wszystkim jeżeli istnieje taka możliwość to warto zacząć od poziomu bazy danych nadając odpowiednie uprawnienia danym użytkownikom/tabelom itp. Niektóe z kont hostingowych oferują możliwość tworzenia użytkowników z prawami zapisu i odczytu jak również tylko odczytu. Nie trzeba chyba wyjaśniać, że taki użytkownik z prawami odczytu bardzo wiele dobrego wnosi do całej aplikacji. Jeżeli nasza aplikacja tylko POBIERA dane to jest to jakieś rozwiązanie.

    Jeżeli chodzi o bezpieczeństwo od strony PHP to popieram przedmówcę, addlaslashes() powinno załatwić problem. Warto też zwrócić uwagę na filtrację danych. Jeżeli w bazie musi znajdowąć się liczba, to warto też przefiltorwać dane pod tym kątem i na poziomie aplikacji nie pozwolić na próbę dodania np litery w miejsce liczby - wyrzuci błąd. Stąd warto zagłębić się w funkcje isint() isnumeric() itp. Kiedyś czytając książkę była przedstawiona fajna idea, która mówiła o tym, żeby tworząc aplikację zacząć od praw zerowych i nadawać je tak jakby "od tyłu"... Po prostu zakładamy, że każdy użytkownik nie może robić NIC, po czym staramy mu się udostępniać pewne funkcjonalności.

    EDIT: Niektórzy piszą tutaj o mysqlescapestring(). Z tego co się orientuję w PHP6 funkcja ta zniknie.

  • 2010-02-11 16:02:53 Sortowanie przez wybieranie

    Jeżeli chodzi Tobie o najszybszym wybieraniu danych, (bo rozumiem, że szukasz optymalnego) to najlepsze jest drzewo AVL. Szybkość wyszukiwania była chyba 1.44(log2n). Był też koszt wrzucania danych do drzewa.

    Drzewo AVL mówiąc po krótce odpowiednio ustawia elementy do wyszukiwania, przez co właśnie wyszukiwanie jest bardzo szybkie. Jest to takie lepiej ułożone drzewo BST.

    Wikipedia sporo mówi o AVLu: http://pl.wikipedia.org/wiki/Drzewo_AVL

  • 2010-02-15 15:23:15 Studia informatyczne

    Studia informatyczne na pewno uczą wielu rzeczy i myślenia. Tego informatycznego też, ale jak napisał mój przedmówca dużo jest przedmiotów typu właśnie matematyki, technika cyfrowa itp. Zapoznaj się z programem nauczania i zobacz ile jest przedmiotów konkretnych, które mogą się przydać: bazy danych, programowanie obiektowe itp. Bo z doświadczenia wiem, że przedmiotów, które przydadzą się w życiu co każdy semestr są 1-2. Niemniej jednak każdy stawia jakieś nowe patrzenie na problem i uczy rzeczy, o których wcześniej nie mieliśmy nawet pojęcia :)

  • 2010-08-26 12:07:58 Mail w PHP. [zamknięte]

    Jeżeli nie masz dostępnej funkcji mail() na serwerze możesz skorzystać z PHPmailer, który umożliwia wysyłanie e-maili poprzez zewnętrzny serwer SMTP.

    Pozdrawiam.

  • 2010-02-11 15:05:37 [PHP] Jak odwrócić stringa pobieranego z bazy?

    Przecież dane do tabeli z bazy można wyciągnąć poprzez ORDER BY

    ORDER BY ASC (dane rosnąco względem czegoś) ORDER BY DESC (dane malejąco)

    Mając powiedzmy dodawane wpisy gdzie struktura tabeli wygląda następująco:

    id_wpisu wynik opis 1 1:0 opis 2 2:0 opis 3 3:0 opis:

    mozesz sobie zrobic zapytanie SELECT idwpisu, wynik, opis FROM tabela ORDER BY idwpisu DESC.

    mamy posortowane dane: 3.... 3:0 opis 2.... 2:0 opis 1... 1:0 opis

    Pozdrawiam. :)

    EDIT: Może troche nie doczytałem całości, gdyż chciałem pomóc a jestem trochę zalatany.

    Proponuję przerobienie struktury tabeli na coś takiego jak napisałem wyżej.... IDWPISU WYNIK OPIS IDspotkania / nazwa spotkania

    Bedziesz mógł wtedy łatwo pwyświetlić całość relacji w kolejności jakiej chcesz, nazwy spotkania itp... Nie ma co kombinować z odwracaniem i bawieniem się w tego typu akcje. :) na pewno na przyszłość ułatwi to zarządzanie stroną!

  • 2010-02-11 15:57:50 VARCHAR a CHAR w MySql

    Jeszcze był chyba taki myk, jeżeli chodzi o szybkość...

    Gdy posiadaliśmy kilka kolumnę VARCHAR i w niej były wpisy o różnej długości to MySQL automatycznie "obcinało" przy operacji na tym do najdłuższego VARCHARA co tez powoduje takie "wewnętrzne" zwiększenie szybkości działania na tym zbiorze danych.

  • 2010-02-11 19:36:38 JS - ograniczenie wielkości obrazków [zamknięte]

    z tego co pamiętam to max-width, nie działa w IE 6.0. Można to rozwiązać w np taki sposób: http://www.svendtofte.com/code/maxwidthin_ie/

    w Firefoxie max-width działa i jest to jakieś rozwiązanie :-)

    Poza tym można to rozwiązać trochę inaczej:

    function getImageWidth(myImage) {
        var x, obj;
        if (document.layers) {
            var img = getImage(myImage);
            return img.width;
        } else {
            return getElementWidth(myImage);
        }
        return -1;
    }
    
    function getImageHeight(myImage) {
        var y, obj;
        if (document.layers) {
            var img = getImage(myImage);
            return img.height;
        } else {
            return getElementHeight(myImage);
        }
        return -1;
    }
    

    mamy wysokość i szerokość.

    Można napisać drugą funkcję, która sprawdza szerokość i wysokość i jeżeli x > 500 pomnóż x*0,8 w pętli while na przykład, tak, aby x był mniejszy od 500 to samo proporcjonalnie z y. :-)

    Na pewno zadziała!

  • 2010-02-12 15:55:32 Obiekt do przechowywania preferencji/zestawu danych

    Dodam jeszcze, że jeżeli chcesz cos dostawac poprzez GET i chcesz sprawdzic warunek if ( isint( $index ) ) to ten if bedzie Ci zwracal false, bo dane pobrane przez _GET sa typu tekstowego, musisz to sobie zrzutowac do inta

    $zmienna = $_GET['costam']; $zmienna = (int)$zmienna;

  • 2010-02-15 16:21:21 Języki programowania

    <cut>patrz tutaj</cut>

  • 2010-02-17 23:28:58 MySQL - szybkość zapytania.

    Mógłby ktoś jeszcze wyjaśnić jak najlepiej testować EXPLAIN ?

    Wiadomo, że każde zapytanie może generować różne czasy. Najlepiej testować to na zbiorach danych, np. 100, 10000, 10000000 itp ? Wydaje mi się, że większe zbiory danych powinny być bardziej wiarygodne ?

    Są może jakieś inne wbudowane narzędzia lub inne gotowe programy do testowania tego typu rzeczy ?

Tagi: 1