En dat is het probleem, ik heb nergens geen ruimte buiten de webroot, dus vandaar in de DB. Nu komen er geen spannende dingen in te staan maar het moet natuurlijk wel veilig blijven,quote:Op zaterdag 16 augustus 2014 17:35 schreef Light het volgende:
[..]
Dat. En bestanden opslaan in de database is eigenlijk nooit een goed idee. Bestanden kunnen prima door een file system worden opgeslagen (die is daarvoor), zolang je het maar buiten de webroot doet. Dan hoef je in de db alleen op te slaan wat je als naam hebt gebruikt. De locatie is iets dat gewoon geconfigureerd kan worden en in code hoort.
Code staat een pagina hiervoorquote:Op zaterdag 16 augustus 2014 16:08 schreef totalvamp het volgende:
[..]
Klinkt alsof je het niet goed hebt opgelost. 3 aparte tabellen is sowieso niet nodig. Je kunt afdelingen makkelijk scheiden aan de hand van een id.
Voorderest lastog te helpen zonder code
zelfs shared-hosting heeft vaak een public_html ( achtige ), met daaronder een mapje waar je domein staat, hier kun je best een mapje in donderen :-)quote:Op zaterdag 16 augustus 2014 17:38 schreef Djurres het volgende:
[..]
En dat is het probleem, ik heb nergens geen ruimte buiten de webroot, dus vandaar in de DB. Nu komen er geen spannende dingen in te staan maar het moet natuurlijk wel veilig blijven,
Code staat een pagina terug
[..]
Code staat een pagina hiervoor
Ah, okay.quote:Op zaterdag 16 augustus 2014 18:48 schreef amvrosios het volgende:
[..]
zelfs shared-hosting heeft vaak een public_html ( achtige ), met daaronder een mapje waar je domein staat, hier kun je best een mapje in donderen :-)
Verder kun je bijvoorbeeld afbeeldingen die toch al publiekelijk beschikbaar moeten zijn natuurlijk gewoon in de public folders kieperen.
let wel, dat je je configuratie bestanden niet zomaar van buiten beschikbaar maakt.
je zou even kunnen kijken naar htaccess, daarmee zou je eventueel ook het probleem van folders op kunnen lossen door ze te 'verbieden' ;-)
quote:Op zondag 17 augustus 2014 11:15 schreef Djurres het volgende:
[..]
Ah, okay.
Maar, kan je me uitleggen waarom je dit beter niet in een database kan zetten? Hack gevoelig?
Ik heb namelijk cookiestealing, xss geprobeerd, en
mysql injection geprobeert op onderandere de get_page?id=4 enzo, heb nergens een leak of gat gevonden..
1 2 3 4 5 6 7 | <?php $query = " SELECT `mime`, `name`, `size`, `data` FROM `filejtc` WHERE `id` = {$id}"; ?> |
Die {} kun je gebruiken om variabelen op te nemen in een string. Voor $id is het op zich niet nodig maar als je bijvoorbeeld $object->id wilt opnemen in een string dan kun je dat doen door er accolades omheen te zetten {$object->id} in de string.quote:Op zondag 17 augustus 2014 11:48 schreef remi1986 het volgende:
[..]
[ code verwijderd ]
Ik denk dat de fout hierin zit. Of doet die query functie iets met die {} rondom de variabele?
En verder wordt het id niet escaped. SQL injectie gevoelig dus.
1 2 3 | <?php $id = intval($_GET['id']); ?> |
je wilt configuratie bestanden simpelweg niet in het public gedeelte hebben staan omdat je maar een keer pech hoeft te hebben en de hele wereld heeft je configuratie in handen.quote:Op zondag 17 augustus 2014 11:15 schreef Djurres het volgende:
[..]
Ah, okay.
Maar, kan je me uitleggen waarom je dit beter niet in een database kan zetten? Hack gevoelig?
Ik heb namelijk cookiestealing, xss geprobeerd, en
mysql injection geprobeert op onderandere de get_page?id=4 enzo, heb nergens een leak of gat gevonden..
Laat je post staan dan, zodat anderen ervan kunnen lerenquote:Op dinsdag 19 augustus 2014 19:47 schreef Djurres het volgende:
laat maar! Heb het helemaal zelf opgelost
Dit is zo hinderlijkquote:Op dinsdag 19 augustus 2014 22:14 schreef Faux. het volgende:
[..]
Laat je post staan dan, zodat anderen ervan kunnen leren
quote:Op dinsdag 19 augustus 2014 19:47 schreef Djurres het volgende:
laat maar! Heb het helemaal zelf opgelost
Kan het ook zijn dat hetzelfde woord meerdere synoniemen kent? Dat "peer" bijvoorbeeld ook iets kan zijn uit een hele andere context en dus niet bij de soorten fruit hoort?quote:Op woensdag 20 augustus 2014 20:01 schreef TwenteFC het volgende:
Ik ben even benieuwd hoe jullie het volgende probleem zouden tackelen.
Het gaat om een zoekfunctie, waarbij synoniemen van bepaalde woorden ook gematched moeten worden.
Voorbeeld;
Een gebruiker zoekt op "appel", alle soorten gerechten waarbij appel in het Naam veld voorkomt moeten getoond worden.
Echter is er een tabel waarin staat dat er de volgende synoniemen zijn voor het woord appel: "banaan" en "peer".
Wanneer een gebruiker dus zoekt op bijv. "peer" moeten ook de resultaten terug komen die een gebruiker zou krijgen wanneer deze op "appel" had gezocht.
Ja, ook dat nog.quote:Op woensdag 20 augustus 2014 22:31 schreef robin007bond het volgende:
[..]
Kan het ook zijn dat hetzelfde woord meerdere synoniemen kent? Dat "peer" bijvoorbeeld ook iets kan zijn uit een hele andere context en dus niet bij de soorten fruit hoort?
Misschien zeg ik iets stoms hoor.quote:
Ik volg je mischien niet helemaal, maar wat ik bedoel; een gebruiker doet een zoekopdracht via een tekstveld, hier vult hij appel in.quote:Op woensdag 20 augustus 2014 23:25 schreef robin007bond het volgende:
[..]
Misschien zeg ik iets stoms hoor.
Maar kan je niet een aparte tabel maken met synoniemen en met allemaal foreign keys van dingen die synoniem van elkaar zijn binnen een bepaalde context?
Dat je dus een row hebt met appel, banaan en peer (als dat synoniemen zouden zijn natuurlijk) en dan met een join legt naar de synoniemen zodra de zoekopdracht wordt gedaan?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <br /> <b>Fatal error</b>: Uncaught exception 'MissingException' with message 'Unable to load 3dlbiyswos7e8zi832k0.' in /<public_html>/control/autoload.php:17 Stack trace: #0 [internal function]: __autoload('3dlbiyswos7e8zi...') #1 /<public_html>/control/edit.php(191): call_user_func(Array) #2 [internal function]: ctrl_Edit->Add(Array) #3 /<public_html>/index.php(73): call_user_func(Array, Array) #4 /<public_html>/index.php(79): Main->Run() #5 {main} Next exception 'MissingException' with message 'Unable to load 3dlbiyswos7e8zi832k0.' in /<public_html>/control/autoload.php:17 Stack trace: #0 /<public_html>/control/edit.php(0): __autoload('3dlbiyswos7e8zi...') #1 [internal function]: ctrl_Edit->Add(Array) #2 /<public_html>/index.php(73): call_user_func(Array, Array) #3 /<public_ht in <b>/<public_html>/control/autoload.php</b> on line <b>17</b><br /> |
1 2 3 4 5 6 7 | <?php foreach ($childclasses as $classbase) { $classname = 'tpl_' . $classbase; $name = call_user_func(array($classname, 'GetName')); <andere dingen> } ?> |
omdat de functie call_user_func eerst de callback mee moet krijgen en als tweede argument de parameter. Nu doe je het andersomquote:Op zondag 24 augustus 2014 14:22 schreef Igen het volgende:
O ja, het gaat dus fout bij het volgende stukje code:
[ code verwijderd ]
Bij die laatste regel regel met "$name = ..." ontstaat dus een aanroep naar __autoload met die schijnbaar totaal willekeurige letters en cijfers als class-naam.
Iemand enig idee waarom?![]()
1 2 3 4 5 6 7 8 9 10 | <?php error_reporting(E_ALL); function increment(&$var) { $var++; } $a = 0; call_user_func('increment', $a); ?> |
Nee hoor, volgens mij wil hij als callback GetName van de betreffende childclass aanroepen. Op zich is het valide code, maar wellicht is GetName niet static.quote:Op zondag 24 augustus 2014 16:12 schreef remi1986 het volgende:
[..]
omdat de functie call_user_func eerst de callback mee moet krijgen en als tweede argument de parameter. Nu doe je het andersom
mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )
[ code verwijderd ]
Heb ik inderdaad op dit moment niet als static gedefinieerd. Ga uitproberen of het daaraan ligt.quote:Op zondag 24 augustus 2014 16:24 schreef Monolith het volgende:
[..]
Nee hoor, volgens mij wil hij als callback GetName van de betreffende childclass aanroepen. Op zich is het valide code, maar wellicht is GetName niet static.
Geen probleem. Vraag me alleen wel af wat je probeert te bereiken, want erg logisch ziet het er niet uit.quote:
Heb voor m'n persoonlijke website een simpele CMS gemaakt, als programmeeroefeningetje. De data bestaat uit een boomstructuur van pagina's, subpagina's, koppen, alinea's, plaatjesgalerijen, losse plaatjes, embedded youtube-filmpjes enz. Het stukje code wat ik liet zien, maakt een menuutje waar je kan kiezen uit de geldige soorten inhoud die je op een bepaald punt kan invoegen (een plaatje of filmpje bijv. alleen in een galerij, etc.).quote:Op zondag 24 augustus 2014 17:44 schreef Monolith het volgende:
[..]
Geen probleem. Vraag me alleen wel af wat je probeert te bereiken, want erg logisch ziet het er niet uit.
1 2 3 4 5 6 7 8 9 10 11 | <?php $mod_parent = $this->db->LoadElement($parent_id); $childclasses = $mod_parent->FindPossibleChildClasses($this->options); foreach ($childclasses as $classbase) { $classname = 'tpl_' . $classbase; $name = call_user_func(array($classname, 'GetName')); $screenname = call_user_func(array($classname, 'TypeName')); $output .= '<option value="' . $name . '">' . $screenname . '</option>'; } ?> |
Maar al die classes hebben dus een statig GetName die een bepaalde naam teruggeeft of hoe moet ik het zien?quote:Op zondag 24 augustus 2014 17:52 schreef Igen het volgende:
[..]
Heb voor m'n persoonlijke website een simpele CMS gemaakt, als programmeeroefeningetje. De data bestaat uit een boomstructuur van pagina's, subpagina's, koppen, alinea's, plaatjesgalerijen, losse plaatjes, embedded youtube-filmpjes enz. Het stukje code wat ik liet zien, maakt een menuutje waar je kan kiezen uit de geldige soorten inhoud die je op een bepaald punt kan invoegen (een plaatje of filmpje bijv. alleen in een galerij, etc.).
[ code verwijderd ]
(Ik geloof dat het niet netjes is om HTML direct in de code te genereren, maar dat is weer een ander verhaal)
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |