Tnx, daar was ik al bang voor ja.quote:Op vrijdag 2 maart 2007 11:29 schreef JeRa het volgende:
@splendor
Standaard wordt het 'echte' pad niet doorgegeven, maar er is wel een truukje voor. Je kunt met javascript vlak voordat je een formulier submit de waarde uitlezen en in een hidden field zetten.
Nadeel: je kunt niet in die file inputs wegschrijvendat om te voorkomen dat een website opeens mag bepalen welke bestanden jij verstuurt, dat zou een enorm lek betekenen.
zou anders toch niet handig werken, de gebruiker zou elke keer dat het formulier een fout bevat onnnodig het bestand opnieuw moeten uploadenquote:Op vrijdag 2 maart 2007 11:35 schreef splendor het volgende:
[..]
Tnx, daar was ik al bang voor ja.
Nouja wat een oplossing zou zijn is het file uploaden los maken van een groot ander formulier, met een eigen submit knop. Is een handeling meer voor de gebruiker maar scheelt een hoop ellende.
Zelfs al kan PHP het hele pad ergens vandaag toveren, dan nog heb je er niets aan. Je kunt de file input in de html namelijk niet populeren met een value uit veiligheidsoverwegingen.quote:Op vrijdag 2 maart 2007 11:27 schreef splendor het volgende:
Maar ik wil niet alleen de orginile bestandsnaam ['name'] maar het hele pad, dus: C:\blabla\bla\file.ext
Is dit mogelijk? Of wordt dit clientside nooit doorgestuurd?
Ik wil dit omdat ik nogal een lang formulier heb en als je een veld niet of niet goed invuldt dan krijg je netjes een rijtje errors en staan alle waarden nog steeds in het formulier, maar het file veld onthoudt ie de waarde niet van.
Juist, dus als iemand een query in wil vullen mtb injectie (want dat is injectie toch?) dan 'beschadigd' de variabele als het ware als er bij float een letter wordt ingevuld...quote:Op vrijdag 2 maart 2007 09:44 schreef ralfie het volgende:
[..]
het is niet logisch om daar van alles zelf voor te maken als er prachtige functies zijn die dit automatisch doen. Kijk bijvoorbeeld is naar:
[ code verwijderd ]
Mocht je ergens numerieke waarden willen, gebruik je een van deze twee
[ code verwijderd ]
afhankelijk van of je een heel getal (integer) will hebben of niet (float)
suc6
Sommige sites gebruiken een apart systeem voor het uploaden van bestanden. Een gebruiker kan dan los bestanden uploaden zodat deze dan tijdelijk ergens worden weggezet en gekoppeld aan de sessie. Als vervolgens het formulier een fout bevat, dan zijn de bestanden niet verloren gegaanquote:Op vrijdag 2 maart 2007 11:35 schreef splendor het volgende:
[..]
Nouja wat een oplossing zou zijn is het file uploaden los maken van een groot ander formulier, met een eigen submit knop. Is een handeling meer voor de gebruiker maar scheelt een hoop ellende.
| 1 2 3 4 5 | R61: $query ="INSERT INTO `kasboek` ( `id` , `datum` , `type` , `rekeningnr` , `van` , `categorie` , `default` , `bedrag` , `commentaar` ) VALUES ('', '".$POST[datum]."' , '".$POST[type]."', '".$POST[rekeningnr]."', '".$POST[van]."', '".$POST[categorie]."', '".$POST[`default`]."','".$POST[bedrag]."', '".$POST[commentaar]."');"; R62: $result = mysql_query($query) or ( $error = mysql_error()); R63: $data .= ($result) ? 'Afschrift toegevoegd' : 'Er ging wat fout:<br />'.$result; R64:} |
Als je dat consequent doet kan er nooit een probleem komen met reserved wordsquote:Op vrijdag 2 maart 2007 13:26 schreef Swetsenegger het volgende:
Sowieso... waarom die backticks?
Ja...maar als je het hele bestand inleest is het natuurlijk veel simpeler om filesize() te gebruikenquote:Op vrijdag 2 maart 2007 15:06 schreef Geqxon het volgende:
Ik ben op het moment vaak met fopen bezig, en ik wil graag bijhouden hoeveel bandbreedte ik er doorheen jaag.
Op het moment doe ik dat door elke keer als ik een file open en deze regel voor regel met een foreach doorneem, de string lengte van de huidige regel te pakken, en de lengte hiervan bij een variabele toe te voegen. Dat door 1024 delen en ik heb het aantal kilobyte.
Zit ik toevallig in de goede richting?
Een website in dit geval, dus volgens mij is dat niet mogelijk.quote:Op vrijdag 2 maart 2007 15:27 schreef JeRa het volgende:
[..]
Ja...maar als je het hele bestand inleest is het natuurlijk veel simpeler om filesize() te gebruiken
| 1 2 3 4 5 | $headers = get_headers($url, 1); if ((!array_key_exists("Content-Length", $headers))) { return false; } return $headers["Content-Length"]; ?> |
Nee, dat kan de gebruiker niet. De $_SESSION wordt alleen op de server gebruikt.quote:Op vrijdag 2 maart 2007 15:35 schreef Piles het volgende:
Even een kort vraagje: $_POST, $_GET en $_COOKIE moet je altijd 'beveiligen' tegen gevaarlijke waardes, maar hoe zit dat met $_SESSION? Kan een gebruiker/hacker daar ook in veranderen?
Ik maak nu een random-hash aan die ik opsla in de database (met een user_id erbij) en in de sessie. Met de sessie haal ik het user_id weer uit de database enzovoortsquote:Op vrijdag 2 maart 2007 16:08 schreef HuHu het volgende:
[..]
Nee, dat kan de gebruiker niet. De $_SESSION wordt alleen op de server gebruikt.
De client krijgt echter wel en cookie op zijn pc met het sessie-id erin. Dus die moet je wel controleren op het moment dat je het sessie-id uitleest.
Toch maar de regels tellenquote:Fatal error: Call to undefined function: get_headers() in /home/buyshitn/public_html/peppisodelite/index.php on line 189
Men zou de cookie met het sessie-id kunnen aanpassen, om zo SQL-injection te doen. Dus voordat je het sessie-id in een query gebruikt moet je deze controleren.quote:Op vrijdag 2 maart 2007 16:32 schreef Piles het volgende:
[..]
Ik maak nu een random-hash aan die ik opsla in de database (met een user_id erbij) en in de sessie. Met de sessie haal ik het user_id weer uit de database enzovoorts
Is dat veilig genoeg?
Dan doen we datquote:Op vrijdag 2 maart 2007 17:02 schreef HuHu het volgende:
[..]
Men zou de cookie met het sessie-id kunnen aanpassen, om zo SQL-injection te doen. Dus voordat je het sessie-id in een query gebruikt moet je deze controleren.
Heeft jou editor geen line numbers?quote:Op vrijdag 2 maart 2007 16:49 schreef Geqxon het volgende:
Grrrr, lekkere provider heb ik toch:
[..]
Toch maar de regels tellen
Edit: Mijn script wordt nu toch wel iets té optimistisch: Bandwidth used: 295.16 kB (126 kB/s). Op een 512kbit lijntje
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |