php-zpracování formu - názor....
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
php-zpracování formu - názor....
Dobrý den, zajímal by mě váš názor:
Dělám jeden web v php a mám ve zvyku např u stránek kde je nějaký formulář dělat dva php soubory - jeden na např. předvyplnění formuláře a jeho "vykreslení" a druhý php pro zpracování dat z formuláře,zápis do dbs apod...,takže mám např. registrace.php a registrace-zpracuj.php
Toto dělám kvůli přehlednosti - nějak mi vadí hňácat to pomocí isset do jednoho souboru, ale je pravda že zas vznikne hodně souborů php...
Jde mi o to, že dělám bakalářku a nerad bych,aby mi to pak někdo zkritizoval...
Jak to děláte vy, popř. kterým způsobem by se to mělo dělat?
Dělám jeden web v php a mám ve zvyku např u stránek kde je nějaký formulář dělat dva php soubory - jeden na např. předvyplnění formuláře a jeho "vykreslení" a druhý php pro zpracování dat z formuláře,zápis do dbs apod...,takže mám např. registrace.php a registrace-zpracuj.php
Toto dělám kvůli přehlednosti - nějak mi vadí hňácat to pomocí isset do jednoho souboru, ale je pravda že zas vznikne hodně souborů php...
Jde mi o to, že dělám bakalářku a nerad bych,aby mi to pak někdo zkritizoval...
Jak to děláte vy, popř. kterým způsobem by se to mělo dělat?
- OndraSter
- Středně pokročilý

- Registrován: 22. úno 2006
- Bydliště: Praha / ČVUT FIT
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
V Nette Frameworku (na můj vkus to je velký "balast") se to dělá pomocí eventů.
V mém mini "frameworku" to dělám tak, že pokud není odeslaný formulář, nebo je odeslaný formulář ale špatně vyplněný, tak ho to vykreslí prázdný/s původními daty (1 řádek kódu). Pokud je vše odeslané a správně, tak se nevykresluje již formulář, ale dojde k jeho zpracování.
V mém mini "frameworku" to dělám tak, že pokud není odeslaný formulář, nebo je odeslaný formulář ale špatně vyplněný, tak ho to vykreslí prázdný/s původními daty (1 řádek kódu). Pokud je vše odeslané a správně, tak se nevykresluje již formulář, ale dojde k jeho zpracování.
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32
Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32
Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
ok, to je v pohodě, ale máte to v jednom souboru, nebo zpracování (když je dobře vyplněn) máte v jiném php souboru?
Naposledy upravil(a) Václav Sedlář dne čtv 1. pro 2011, 16:38, celkem upraveno 2 x.
- OndraSter
- Středně pokročilý

- Registrován: 22. úno 2006
- Bydliště: Praha / ČVUT FIT
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
Jistěže v jednom.
Používáš (proč vykat?
) nějaký templatový framework (resp nejen templatový)?
Používáš (proč vykat?
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32
Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32
Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
- Exp
- Začátečník

-
- Registrován: 24. črc 2004
- Bydliště: Tábor
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
Dělit to na dva soubory mi přijde zbytečný, ale nevidím důvod, proč by to mělo někomu vadit. Programuješ to ty, ty se v tom musíš vyznat. Pokud k tomu vytvoříš rozumnou dokumentaci, nemůže IMO nikdo říct ani popel...
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
OdnraSter:frameworky nepoužívám-tak dlouho v php ještě nedělám a ani je nepotřebuju...
-sorry za vykání-nějak jsem zůstal přepnutý do vykání...
Exp: jj,komentuju každý řádek jak vůl + ještě udělám nějakou větší dokumentaci...možná to tedy sjednotím do méně souborů...
-sorry za vykání-nějak jsem zůstal přepnutý do vykání...
Exp: jj,komentuju každý řádek jak vůl + ještě udělám nějakou větší dokumentaci...možná to tedy sjednotím do méně souborů...
- bubanek
- Středně pokročilý

- Registrován: 24. dub 2005
- Bydliště: D1
Re: php-zpracování formu - názor....
Pro jaký předmět / obor to děláš?
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
To že nepotřebuješ frameworky si myslíš, protože jsi je nevyzkoušel. Každopádně zkus udělat alespoň template, sice budeš mít souborů jěště více, ale mnohem pohodlněji se ti bude s tím pracovat.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
hmm, mno uvidím...teď jsem to konzultoval s několika lidmi a prý bych tam měl dát jQuery aby když např. mám form pro registraci tak aby to hned psalo zda např. není už.jm. už použito...bez toho abych odesílal form ke zpracování...
- l_iNu$
- Začátečník

- Registrován: 01. pro 2005
Re: php-zpracování formu - názor....
Hlavně tady vůbec nevidím zmínku o bezpečnosti, takto psané formuláře jsou většinou docela děravé, lepší skutečně nějaký FW na formuláře použít.
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
Proč? Je tak těžké před uložením do DB provést kontrolu proti SQL Injection, na to stačí jedna funkce. Proti XSS už to bude trochu složitější, ale když si napíšeš dobrou funkci 
2Václav: AJAX je super věc, ale pak ti web naroste geometrickou řadou. Raději klasicky, AJAX jde kdykoli dodělat. Nehledě na to, že bez nějakého frameworku a template, by ses s AJAXem "posral" protože by jsi nemohl používat stejné HTML soubory pro více PHP skriptů atd...
2Václav: AJAX je super věc, ale pak ti web naroste geometrickou řadou. Raději klasicky, AJAX jde kdykoli dodělat. Nehledě na to, že bez nějakého frameworku a template, by ses s AJAXem "posral" protože by jsi nemohl používat stejné HTML soubory pro více PHP skriptů atd...
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- l_iNu$
- Začátečník

- Registrován: 01. pro 2005
Re: php-zpracování formu - názor....
Jasně kontrolu na SQL injection ti udělá jiná vrstva (měla by), XSS je otázka ošetření výstupu dat přijatých od uživatele. Mám teď na mysli spíš CSRF, pak ošetření hodnot v select, radio položkách na povolené hodnoty atd, filtrace položek které ve formuláři skutečně byly.
- W3N4
- Začátečník

-
- Registrován: 06. srp 2008
Re: php-zpracování formu - názor....
Programovat webove aplikace bez (MVC) frameworku (obzvlast v PHP) je naprosta blbost, v 99 % pripadu to dopada katastrofalne. Pokud nekdo vyviji webovou aplikaci bez frameworku, tak je bud zacatecnik, amater, nebo vyviji hodne malou aplikaci.
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
2L_inu$: Tak osobně do select a radio cpu pouze čísla, tj po přijetí udělám intval() a to pak můžu cpát do DB, tj pokud se mi tak bude snažit podstrčit nějaké jiné info, intval vrátí 0 nebo false, teď přesně nevím...
Jelikož si do pomocných proměnných ukládám data z POSTu, tak pokud mi přidá další pole do odeslaného formuláře, tak mě to netrápí, já je nikde nepoužiju, jestli je to ta filtrace položek které ve formuláři byly. O CSRF jsem četl, ale nějak nechápu o co tam jde... Žádná data do COOKIES jako je jméno a heslo atd... neukládám, takže nevidím problém
Jelikož si do pomocných proměnných ukládám data z POSTu, tak pokud mi přidá další pole do odeslaného formuláře, tak mě to netrápí, já je nikde nepoužiju, jestli je to ta filtrace položek které ve formuláři byly. O CSRF jsem četl, ale nějak nechápu o co tam jde... Žádná data do COOKIES jako je jméno a heslo atd... neukládám, takže nevidím problém
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- l_iNu$
- Začátečník

- Registrován: 01. pro 2005
Re: php-zpracování formu - názor....
To ale nestačí, do selectu dám volby třebas 1,2,3, je ale potřeba ošetřit že tam někdo nepodstrčí třeba 4.arxeiss píše:2L_inu$: Tak osobně do select a radio cpu pouze čísla, tj po přijetí udělám intval() a to pak můžu cpát do DB, tj pokud se mi tak bude snažit podstrčit nějaké jiné info, intval vrátí 0 nebo false, teď přesně nevím...
Pokud je to malý formulář o pár položek tak proč ne…arxeiss píše:Jelikož si do pomocných proměnných ukládám data z POSTu, tak pokud mi přidá další pole do odeslaného formuláře, tak mě to netrápí, já je nikde nepoužiju, jestli je to ta filtrace položek které ve formuláři byly.
Jde o to ověřit zda požadavek na zpracování formuláře jde skutečně z odeslaného formuláře. Tohle je často chyba formuláře odeslaných přes GET, které jdou zneužít. Třebas tady na fóru si někdo dá do podpisu obrázek s URI forum.pctuning.cz/deleteUser.php?id=1 a admin, kterému se bude tenhle obrázek načítat, smaže uživatele.arxeiss píše:O CSRF jsem četl, ale nějak nechápu o co tam jde... Žádná data do COOKIES jako je jméno a heslo atd... neukládám, takže nevidím problém
viz. http://php.vrana.cz/cross-site-request-forgery.php
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
No můj projekt je malý:
-vést registrované uživatele (jm,příjmení,už.jm, meil a práva)
-web rozdělen na veřejný a neveřejný sekce
-upload souborů (3sekce), může jen admin
-el.hlasování pro registrované
-generování pdf
Takže nevím zda bych využil nějaký FW,nebo zda je to vůbec vhodné...Jinak u všech formulářů používám metodu post-dá se to jednoduše obejít (=podvést?)?
-vést registrované uživatele (jm,příjmení,už.jm, meil a práva)
-web rozdělen na veřejný a neveřejný sekce
-upload souborů (3sekce), může jen admin
-el.hlasování pro registrované
-generování pdf
Takže nevím zda bych využil nějaký FW,nebo zda je to vůbec vhodné...Jinak u všech formulářů používám metodu post-dá se to jednoduše obejít (=podvést?)?
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: php-zpracování formu - názor....
Všechno se dá podvést, a já jsem udělal web, kde se admin pouze přihlásí, a může upravovat aktuality a upravovat stránky, neregistrovaný niz z tohoto nemůže, a použil jsem framework...
2Linu$: To že tam nacpe 4 v mém případě nic nezmění, ale ano chápu o co jde, v čem je problém. S tím CSRF je to docela drsné, aspoň vím, na co se zaměřit.
Díky
Edit:\\ Mohl by jsi sem vypsat jěště další takovéto možnosti jak nějaký web obejít? Díky
2Linu$: To že tam nacpe 4 v mém případě nic nezmění, ale ano chápu o co jde, v čem je problém. S tím CSRF je to docela drsné, aspoň vím, na co se zaměřit.
Díky
Edit:\\ Mohl by jsi sem vypsat jěště další takovéto možnosti jak nějaký web obejít? Díky
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min