abonnement Unibet Coolblue Bitvavo
  zaterdag 16 augustus 2014 @ 17:38:36 #211
355592 Djurres
Knowledge, Fuck it.
pi_143483372
quote:
0s.gif 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.
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 ;)

quote:
1s.gif 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 ;)
Code staat een pagina hiervoor ;)
Tadumtiedum.
pi_143485567
quote:
0s.gif 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 ;)
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' ;-)
Vooral dat wat hier boven staat.
  zondag 17 augustus 2014 @ 11:15:57 #213
355592 Djurres
Knowledge, Fuck it.
pi_143503283
quote:
7s.gif 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' ;-)
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..
Tadumtiedum.
pi_143504127
quote:
0s.gif 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}";
           
?>

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.
pi_143504740
quote:
0s.gif 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.
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.

En wat het escapen van de id betreft, eerder in de code staat dit:
1
2
3
<?php
$id 
intval($_GET['id']);
?>
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
pi_143544758
Heeft iemand hier MySQL partitioning gebruikt voor grotere datasets?

Ik wil ongeveer 11 GB aan gegevens per jaar per gebruiker opslaan, na deze periode worden ze verwijderd. Is het ontbreken van FKs een groot nadeel in de praktijk wanneer partitioning wordt gebruikt?
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  dinsdag 19 augustus 2014 @ 19:47:12 #217
355592 Djurres
Knowledge, Fuck it.
pi_143601930
laat maar! Heb het helemaal zelf opgelost :D

[ Bericht 97% gewijzigd door Djurres op 19-08-2014 21:08:25 ]
Tadumtiedum.
pi_143606622
quote:
0s.gif 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..
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.

het uitdelen van bestanden via een database is simpelweg een belachelijk idee omdat een database daar niet op gebouwd is ( sterker nog, het wordt er alleen maar kutter op )
Vooral dat wat hier boven staat.
  dinsdag 19 augustus 2014 @ 22:14:27 #219
292596 Faux.
Fan van zichzelf
pi_143609502
quote:
0s.gif Op dinsdag 19 augustus 2014 19:47 schreef Djurres het volgende:
laat maar! Heb het helemaal zelf opgelost :D
Laat je post staan dan, zodat anderen ervan kunnen leren
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_143610481
quote:
18s.gif Op dinsdag 19 augustus 2014 22:14 schreef Faux. het volgende:

[..]

Laat je post staan dan, zodat anderen ervan kunnen leren
Dit is zo hinderlijk

Heb je bv. Een niet heel bekend probleem, ga je googlen en dan is het eerste resultaat een betaald forum met "experts" en het tweede resultaat is "edit: Nevermind, got it working"

:(
pi_143613908
quote:
0s.gif Op dinsdag 19 augustus 2014 19:47 schreef Djurres het volgende:
laat maar! Heb het helemaal zelf opgelost :D
:P je configuratie veranderd naar getenv('geheimding') en deze environment variabelen buiten je document root geset?
  woensdag 20 augustus 2014 @ 12:33:49 #222
355592 Djurres
Knowledge, Fuck it.
pi_143624388
Sorrysorrysorry, was een oplossing betreft een andere vraag, had wat problemen met checkboxes en de mail functie, bovenstaand probleem is nog niet opgelost maar had dm van iemand gekregen en dat gaat k ff proberen :)
Tadumtiedum.
pi_143641307
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.
pi_143647768
quote:
19s.gif 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.
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?

[ Bericht 1% gewijzigd door #ANONIEM op 20-08-2014 22:34:00 ]
pi_143648928
quote:
0s.gif 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?
Ja, ook dat nog.
pi_143650463
quote:
19s.gif Op woensdag 20 augustus 2014 22:54 schreef TwenteFC het volgende:

[..]

Ja, ook dat nog.
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?
pi_143651404
quote:
0s.gif 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?
Ik volg je mischien niet helemaal, maar wat ik bedoel; een gebruiker doet een zoekopdracht via een tekstveld, hier vult hij appel in.

Vervolgens submit hij deze, en moet er een query uitgevoerd worden waar ik op dat moment alleen de waarde "appel" heb.

Heel simpel gezegd krijg je dan zo iets SELECT * FROM gerechten WHERE naam LIKE '%appel%'

Dus ook appelmoes wordt getoond, maar dit moet ook perenmoes zijn omdat het ( in dit voorbeeld dan ) een synoniem is.

Jouw suggestie is dus om een aparte tabel te hebben waarbij je zo iets krijgt:

naam - synoniem
appel - peer
appel - banaan
appel - etcetc

maar hoe koppel ik die 3 rijen dan weer efficient terug naar de gerechten tabel, zodat hij ook hier op gaat zoeken.

Ik had zelf het idee om tijdens het toevoegen van die synoniemen of gerechten al alle matchende rijen op te zoeken, en alle koppelingen al direct opslaan zodat ik hier op kan joinen wanneer een gebruiker zoekt.

Maar dat is naar mijn idee ook wel een beetje lomp.
pi_143771113
Hallo,

Ik heb een website en lokaal werkt die prima. Als ik 'm upload naar m'n hostingprovider, dan krijg ik echter een foutmelding als ik één bepaalde functie gebruik:
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-&gt;Add(Array)
#3 /<public_html>/index.php(73): call_user_func(Array, Array)
#4 /<public_html>/index.php(79): Main-&gt;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-&gt;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 />
Iemand enig idee waar ik het probleem moet zoeken? Wat heeft die rare code als argument van __autoload() te betekenen? Die class bestaat natuurlijk niet.

[ Bericht 0% gewijzigd door #ANONIEM op 24-08-2014 14:18:15 ]
pi_143771349
O ja, het gaat dus fout bij het volgende stukje code:
1
2
3
4
5
6
7
<?php
        
foreach ($childclasses as $classbase) {
            
$classname 'tpl_' $classbase;
            
$name call_user_func(array($classname'GetName'));
            <
andere dingen>
        }
?>
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? :? :?

[ Bericht 7% gewijzigd door #ANONIEM op 24-08-2014 14:30:16 ]
  † In Memoriam † zondag 24 augustus 2014 @ 14:27:52 #230
159335 Boze_Appel
Vrij Fruit
pi_143771553
Je sluit je foreach niet eens af?
Carpe Libertatem
pi_143771573
Ja natuurlijk wel.
pi_143775231
Ergens wordt die waarde aangeropen, maar het bestand bestaat niet en dat geeft een error.
Welk systeem/framework maak je gebruik van?
pi_143776101
quote:
0s.gif 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? :? :?
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 $... ]] )

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);
?>
pi_143776664
quote:
0s.gif 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 ]

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.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_143777507
quote:
1s.gif 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.
Heb ik inderdaad op dit moment niet als static gedefinieerd. Ga uitproberen of het daaraan ligt. :)
pi_143777868
Ja, dat was de fout hoor! Bedankt!
pi_143779467
quote:
0s.gif Op zondag 24 augustus 2014 16:57 schreef Igen het volgende:
Ja, dat was de fout hoor! Bedankt!
Geen probleem. Vraag me alleen wel af wat je probeert te bereiken, want erg logisch ziet het er niet uit. :P
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_143779721
quote:
1s.gif 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. :P
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.).
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>';
        }
?>
(Ik geloof dat het niet netjes is om HTML direct in de code te genereren, maar dat is weer een ander verhaal)

[ Bericht 0% gewijzigd door #ANONIEM op 24-08-2014 17:57:42 ]
pi_143780168
quote:
0s.gif 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)
Maar al die classes hebben dus een statig GetName die een bepaalde naam teruggeeft of hoe moet ik het zien?
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_143780952
Wat een vage constructies je hier soms ook tegenkomt :')

Eerst uit de database een rijtje namen halen, en dan vervolgens aan de class vragen van "hee hoe heet jij?"
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')