php-zpracování formu - názor....

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
Václav Sedlář
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

php-zpracování formu - názor....

Příspěvek od Václav Sedlář »

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?
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od OndraSter »

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í.
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ů
Václav Sedlář
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od Václav Sedlář »

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ý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od OndraSter »

Jistěže v jednom.

Používáš (proč vykat? :D) nějaký templatový framework (resp nejen templatový)?
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ů
Exp
Začátečník
Začátečník
Registrován: 24. črc 2004
Bydliště: Tábor
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od Exp »

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
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od Václav Sedlář »

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ů...
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: php-zpracování formu - názor....

Příspěvek od bubanek »

Pro jaký předmět / obor to děláš?
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od arxeiss »

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
Václav Sedlář
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od Václav Sedlář »

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
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Re: php-zpracování formu - názor....

Příspěvek od l_iNu$ »

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
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od arxeiss »

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...
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
l_iNu$
Začátečník
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Re: php-zpracování formu - názor....

Příspěvek od l_iNu$ »

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
Začátečník
Registrován: 06. srp 2008

Re: php-zpracování formu - názor....

Příspěvek od W3N4 »

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
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od arxeiss »

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
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
l_iNu$
Začátečník
Začátečník
Uživatelský avatar
Registrován: 01. pro 2005

Re: php-zpracování formu - názor....

Příspěvek od l_iNu$ »

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...
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: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.
Pokud je to malý formulář o pár položek tak proč ne…
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
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.

viz. http://php.vrana.cz/cross-site-request-forgery.php
Václav Sedlář
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od Václav Sedlář »

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?)?
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: php-zpracování formu - názor....

Příspěvek od arxeiss »

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
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
Odpovědět

Zpět na „Programování a web“