Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V  < 1 2 3 >  
Reply to this topicStart new topic
> [www]ocena mojego "portfolio"
Tuminure
post 25.03.2015, 16:56:49
Post #21





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Cytat
Opinie zabezpieczone przed XSS, myślicie, że po dodaniu opinii powinien zostać już schowany formularz dodawania kolejnej? Chociażby przez zwykłe cookie.
Osobiście nie widzę sensu posiadania takiego działu z formularzem w portfolio.

Cytat
Dodatkowo, spytam jeszcze o poruszony wcześniej temat chowającego się menu, czy lepiej byłoby, gdyby po przewinięciu na dół zmieniało się ono w takie niewysokie menu nawigacyjne? ;-)
Na pewno nie w taki sposób, w jaki to robi obecnie.

Ten post edytował Tuminure 25.03.2015, 16:57:22
Go to the top of the page
+Quote Post
Turson
post 25.03.2015, 17:09:10
Post #22





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Opinie - można wysłać bez treści. Walidacji po stronie serwera w ogóle nie ma. Można wywalić required firebugiem i wysłać kompletnie pusty formularz.
Go to the top of the page
+Quote Post
redeemer
post 25.03.2015, 20:16:32
Post #23





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Na szybko:

Strona zawiera błąd typu SQL injection. Poprzez manipulację wartości parametru "ocena" w formularzu dodawania opini możliwe jest wstrzyknięcie złośliwego kodu.

Testowy payload:
Kod
(SELECT SLEEP(16)))-- -


Rzuciły mi się jeszcze błędy merytoryczne w notce o "skróconych ifach":

Drugi listing na stronie nic nie zwraca.

Cytat
...jeśli chcemy zmienić wartości dwóch zmiennych musimy wykorzystać normalny zapis if.
  1. list($a,$b) = (true) ? array('x','y') : array('z','z');

No i najładniej bez użycia IFów i TERNARY to:
  1. ...
  2. return ($liczba%5!=0);
;-)


--------------------
Go to the top of the page
+Quote Post
PrinceOfPersia
post 26.03.2015, 14:44:07
Post #24





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


Cytat
Ukończenie Gimnazjum w Zespole Szkół w Karpaczu z oceną celującą z informatyki

jak już ktoś wspomniał - wywaliłbym to, bo to raczej cię pogrąża. Pozycjonujesz się jako gimnazjalista/dzieciak (niezależnie od umiejętności, nawet Bill Gates miał problemy z tym, że go brali za dzieciaka).

Cytat
Zainteresowania
Muzyka
Grafika
Logika

Nie potrzebna informacja. Nikogo to nie zainteresuje raczej.

Cytat
Jak często używasz instrukcji warunkowej if?
Wiele osób pisze kod zawierający tę instrukcję, jednak mało z nas zna jej skróconą wersję.
Sam często o niej zapominam, jeszcze częściej o jej poprawnym zapisie.

ternary operator to akurat podstawowy ficzer w językach C-podobnych, więc to brzmi trochę jak "dużo osób zna pętlę for, ale mało kto wie o istnieniu pętli while"


Cytat
Samodzielna nauka wielu języków programowania od 2011 roku
Umiejętności
Znajomość języków HTML, HTML5, CSS, JS, JQuery w stopniu bardzo dobrym
PHP, SQL w stopniu bardzo dobrym
Bash, Java, C++ w stopniu dobrym

Skąd wiesz, że twoje umiejętności są na poziomie bardzo dobrym? Czy ktoś ci to powiedział (np. rekruterzy na rozmowie o pracę?). Zresztą i tak na rozmowie będą cię sprawdzać zadaniami testowymi, albo oglądać twoje projekty na Githubie (jeśli takie masz).


modal, który się odpala po kliknięciu w "szczegóły":
http://mrgod.pl/works#
straaasznie zamula. Wydaje mi się, że ta funkcja togglePopup, którą go wyświetlasz może zamulać, bo tam żywcem tworzysz tablicę (new Array.... bla, bla), a potem dodajesz to jako innerHTML itp:
[JAVASCRIPT] pobierz, plaintext
  1.  
  2. function togglePopup(a, id) {
  3. var content = new Array('<h2>GOskins.pl</h2><br><br>Strona zawierająca sklep z wirtualnymi przedmiotami do gry Counter Strike. Zaimplementowane w niej zostały płatności m.in. SMS, oraz przelewami bankowymi. Posiada bardzo skromny panel administracyjny, bez elementów graficznych, wykonany na prośbę zleceniodawcy, w którym był podglad n.p. ostatnich transakcji przeprowadzonych przez użytkowników, dodawanie przedmiotów do sklepu, monitorowanie zamówień. W czasie aktualizacji strony dodane zostało pobieranie ceny przedmiotów z serwerów Steam, oraz przeliczanie ich na polską walutę na podstawie kursu dolarów amerykańskich pobieranego z bazy NBP.<br>Strona została wykonana w językach: HTML, CSS, JS, PHP, JQuery. Jest ona oparta o framework Bootstrap. W całości wykonana i modyfikowana przeze mnie.<br>Projekt aktualnie porzucony przez zleceniodawcę, jednak w sieci nadal znajduje się jego kopia.<br><br><br><a href="http://backup.mrgod.pl/goskins" class="btn btn-default">Przejdź do strony</a>', '<h2>Askwymiana.PL</h2><br><br>Portal poświęcony w pełni użytkownikom serwisu ASK.FM<br>Został wykonany w oparciu o grafiki dostępne na darmowej licencji w internecie, a cały kod strony napisany jest w pełni przeze mnie z wykorzystaniem technologii programowania obiektowego PHP, oraz innych języków, m.in. HTML, CSS, JS, JQuery.<br>Projekt obecnie porzucony przeze mnie na rzecz rozwijania swoich nowych umiejętności, jednak w celach podglądowych jest dostępny w internecie na moim serwerze backupowym.<br><br><br><a href="http://backup.mrgod.pl/askwymiana" class="btn btn-default">Przejdź do strony</a>', 'Projekt wykonany w językach HTMl, CSS, oraz PHP, kod zagubiony z powodu nieopłacenia serwera przez zleceniodawcę, jednak jego opinia na temat strony jest celująca.');
  4. if (a == 1) {
  5. document.getElementById('popup-content').innerHTML = content[id];
  6. $("#hide-show-popup").fadeIn("slow");
  7. $("#hide-show").fadeIn("slow");
  8. document.getElementById('site').style.overflow = 'hidden';
  9. } else {
  10. $("#hide-show-popup").fadeOut("slow");
  11. $("#hide-show").fadeOut("slow");
  12. document.getElementById('site').style.overflow = 'visible';
  13. }
  14. }
[JAVASCRIPT] pobierz, plaintext

nie wiem gdzie jest błąd w sztuce ale ta animacja działa niepłynnie (może przez to tworzenie tablicy i podmienianie innerHTML, bo przecież na jQuery można zrobić również coś płynnego. Obczaj jak tutaj zrobiłem przykładowo: http://jsfiddle.net/wa0t8bcu/
tam zawartość jest w ukrytych divach w HTMLu, które potem wystarczy uwidocznić.

ew. mozna jeszcze tranzycji CSS3 użyć.

Ten post edytował PrinceOfPersia 26.03.2015, 14:45:54


--------------------
Go to the top of the page
+Quote Post
Tuminure
post 26.03.2015, 16:00:41
Post #25





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. script.js:1 Uncaught ReferenceError: $ is not defined
  2. bootstrap.min.js:1 Uncaught Error: Bootstrap's JavaScript requires jQuery
[JAVASCRIPT] pobierz, plaintext

Ja tam co chwile dostaję błędy o braku jquery. Wyrzuć ten async.
Go to the top of the page
+Quote Post
Beniooo
post 26.03.2015, 19:04:54
Post #26





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

Ostrzeżenie: (0%)
-----


Opisy prac będa będą wyświetlane już z gotowego html, więc nie będzie tablicy w js ;-)
Czy sposób w który teraz wysuwa się fixed-menu jest odpowiedni?

Ten post edytował Beniooo 26.03.2015, 20:41:01


--------------------
Mój post rozwiązał Twój problem? Naciśnij co Ci szkodzi? ;-)
Go to the top of the page
+Quote Post
Kloc
post 26.03.2015, 23:00:33
Post #27





Grupa: Zarejestrowani
Postów: 115
Pomógł: 8
Dołączył: 8.06.2014

Ostrzeżenie: (0%)
-----


Jeśli reprezentujesz tak wysoki poziom to zacznij pomagać nam biednym ludziom na forum biggrin.gif
Pokaż, że coś umiesz bo nie dowierzam.
Stań się słynną postacią jak Pan nospor, phpion, trueblue, Pyton_000, Kshyhoo, Damonsson, ctom, com, memory, SmokAnalog, tzm, markonix i wielu innych... To są ludzie z jakąś wiedzą, którą się z nami dzielą, przy czym sami się wiele uczą.
Samemu można kupę zrobić, a nie opanować do poziomu bardzo dobry jakiś jezyk programowania, każdy popełnia błędy, każdy czegoś nie rozumie nawet kolega Mark Zuckerberg biggrin.gif

Ten post edytował Kloc 26.03.2015, 23:01:53


--------------------
Kloc = Kolor
Obama !== Murzyn
Obama === Kloc


Jak Ci pomogłem to daj Pomógł, tu nie chodzi o te Pomógł, bo to do niczego nie potrzebne, ale daj! :D
Go to the top of the page
+Quote Post
tzm
post 27.03.2015, 08:07:51
Post #28





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----



Go to the top of the page
+Quote Post
Beniooo
post 27.03.2015, 12:39:57
Post #29





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

Ostrzeżenie: (0%)
-----


Klocu, staram się udzielać na forum, oraz pomagać innym ;>
Dzięki temu forum też wielu, wielu rzeczy się nauczyłem ;-)


--------------------
Mój post rozwiązał Twój problem? Naciśnij co Ci szkodzi? ;-)
Go to the top of the page
+Quote Post
Janusz1200
post 28.03.2015, 15:57:02
Post #30





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

Ostrzeżenie: (0%)
-----


Przepraszam bardzo, ale czy ten kod w obrazku z menu blog - skrócony zapis If (motto życiowe):

Cytat
if (sad() === true) {
sad().stop();
}


może kiedykolwiek zadziałać?
Go to the top of the page
+Quote Post
tzm
post 28.03.2015, 16:43:25
Post #31





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


sad jest funkcją która zwraca wartość true/false, stop jest prototypem który może zmieniać wartość przypisaną w sad.
no ale nie sądzę by autor o tym wiedział.
Go to the top of the page
+Quote Post
Janusz1200
post 28.03.2015, 17:03:38
Post #32





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

Ostrzeżenie: (0%)
-----


Aha, ale przepraszam, że drążę, ale wydaje mi się, że funkcja sad() nie tylko zwraca wartość true/false ale i typ boolean (bo to sprawdzamy ===). Chyba że ten strict działa inaczej w jscript niż w php? Jeżeli nie, to czy można na tym typie boolean wywołać metodę stop() ?
Go to the top of the page
+Quote Post
tzm
post 28.03.2015, 19:37:07
Post #33





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Cytat
Jeżeli nie, to czy można na tym typie boolean wywołać metodę stop() ?


Nie rozumiem kompletnie o co Ci chodzi.

W gruncie rzeczy nie znam teorii czy tak można wg specyfikacji w3c, ale wiem że w praktyce takie operacje nie są niczym specjalnym. Podajesz do funkcji parametr i ifem sprawdzasz co zwróci, w php się tak nie da? sorki ale nie znam php na tyle... dawno se siana z nim dałem. Na logikę wychodzi że jeśli w funkcji będzie return true to porówna to co zwróci i typy się będą zgadzały bo true === true to boolean.


edit: poza tym powinno sie zapisac tak:

  1. if(sad()){sad.stop()}


Ten post edytował tzm 28.03.2015, 19:50:36
Go to the top of the page
+Quote Post
b4rt3kk
post 28.03.2015, 19:51:59
Post #34





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat(tzm @ 28.03.2015, 19:37:07 ) *
Nie rozumiem kompletnie o co Ci chodzi.

W gruncie rzeczy nie znam teorii czy tak można wg specyfikacji w3c, ale wiem że w praktyce takie operacje nie są niczym specjalnym. Podajesz do funkcji parametr i ifem sprawdzasz co zwróci, w php się tak nie da? sorki ale nie znam php na tyle... dawno se siana z nim dałem. Na logikę wychodzi że jeśli w funkcji będzie return true to porówna to co zwróci i typy się będą zgadzały bo true === true to boolean.


Kolega Janusz ma rację.

Jeśli funkcja sad zwraca wartość boolean true (nie jest to obiekt!) to nie można wykonać dalszej operacji w postaci sad().stop(), jest to równoznaczne z true.stop(), czyli jest to absolutnie wykluczone.

Można by dodać metodę __toString, która zwracałaby 1 lub 0, ale wtedy porównanie nigdy nie byłoby prawdziwe 1 !== true, co innego 1 == true.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Janusz1200
post 28.03.2015, 20:38:35
Post #35





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

Ostrzeżenie: (0%)
-----


Albo można to zrobić tak, jak pisze @tzm, to znaczy porównanie powinno być słabe:

if (sad() == true) { sad().stop(); }

Wtedy sad jest np. taką funkcją:
var sad = function() { return inner; };

a inner - takim obiektem:

var inner = new Object;
inner.unhappy = true;
inner.valueOf = function() { return inner.unhappy; };
inner.stop = function() { inner.unhappy = false; }

Warunek zachodzi (bo wartością default obiektu inner jest true i inner == true , ale nie inner === true) i można wywołać:
sad().stop().

Natomiast tak, jak jest na obrazku (strict comparison) raczej nie będzie działać...

Cytat(tzm @ 28.03.2015, 19:37:07 ) *
Nie rozumiem kompletnie o co Ci chodzi.


O niepublikowanie na swojej czy nie swojej stronie błędów, które tylko mogą ludziom nieuczonym - jak np. mi - namieszać w głowie. Wyłącznie o to, a ponieważ wydało mi się, że jest błąd, to zapytałem, bo mogę mieć mylne wrażenie, szczególnie, jeżeli ktoś się wysilił na zrobienie obrazka. Z Twoim wskazaniem na prototypy dopiero zakumałem , że to nie PHP , a jscript smile.gif. Różnica między . a -> smile.gif

Ten post edytował Janusz1200 28.03.2015, 20:41:22
Go to the top of the page
+Quote Post
tzm
post 28.03.2015, 21:43:36
Post #36





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Nie, dobra sory... ja mogłem nie zakumać że to php. W javascripcie coś takiego da się zapisać, jeśli w funkcji jest result = true; return result to można prototypem napisać właściwość elementu result bez żadnego problemu, w php chyba to nie przejdzie.
Go to the top of the page
+Quote Post
b4rt3kk
post 29.03.2015, 00:45:39
Post #37





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


W omawianym przypadku chodzi o PHP, czyli kod nie ma sensu.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Beniooo
post 29.03.2015, 10:17:58
Post #38





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

Ostrzeżenie: (0%)
-----


Skąd stwierdzenie, że obrazek ma w sobie kod PHP? ;>


--------------------
Mój post rozwiązał Twój problem? Naciśnij co Ci szkodzi? ;-)
Go to the top of the page
+Quote Post
Janusz1200
post 29.03.2015, 11:35:02
Post #39





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

Ostrzeżenie: (0%)
-----


@tzn, nie da się w javascript. To, co jest w obrazku, w javascript nie zadziała, z powodów które napisał @b4rt3kk (i ja). Żeby zadziałało w javascript, musi być słabe porównanie, jak napisałem w http://forum.php.pl/index.php?s=&showt...t&p=1151770

EDIT: @tzn , chodzi o to, że dokładnie ten kod z obrazka nie zadziała w javascript. Inny kod zadziała, najbardziej zbliżony żeby zadziałał podałem w poście #35.

@b4rt3kk, to nie jest kod w PHP, bo w PHP "operatorem właściwości" (?) jest -> a nie . , jak napisałem w http://forum.php.pl/index.php?s=&showt...t&p=1151770 ,
w php to byłoby sad()->stop();

To może być kod w javascript, pewnie w c# itp. ale prawdopodobnie nie zadziała w żadnym języku w którym jest składniowo poprawny.

Ten post edytował Janusz1200 29.03.2015, 11:42:06
Go to the top of the page
+Quote Post
tzm
post 29.03.2015, 12:27:24
Post #40





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Ok, Ty lecisz znaczek po znaczku i pytasz czy dziala.. ja patrze i mysle ze sa literowki ktore skasuje i bedzie dzialac jesli dopiszemy reszte, nie widze celu licytowania dalej czy cos moze dzialac czy nie a jesli juz tak bardzo chcesz uslyszec ze nie zadziala ten kod, to tak, NIE ZADZIALA. Zrobilem Ci dobrze ?smile.gif polecam sie
Go to the top of the page
+Quote Post

3 Stron V  < 1 2 3 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.06.2024 - 18:43