abonnement Unibet Coolblue Bitvavo
pi_32945057
hmmm... dat is ook wel weer een leuk idee ik ga er ff mee spelen...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_32945081
quote:
Op vrijdag 9 december 2005 14:41 schreef Chandler het volgende:
hmmm... dat is ook wel weer een leuk idee ik ga er ff mee spelen...
tot zo
pi_32945325
ik heb nu zo iets als dit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<style>

.fld {
margin-left: 16px;
}
</style>

<div class="fld" id="test1">
    <img id="test1fld" src="images/foldericon.png"> Folder1
    <div class="fld" id="test4">
        <img id="test4fld" src="images/foldericon.png"> Folder4
    </div>
    <div class="fld" id="test2">
        <img id="tes2fld" src="images/foldericon.png"> Folder2
        <div class="fld" id="test3">
            <img id="test3fld" src="images/foldericon.png"> Folder3
        </div>
    </div>
</div>
<div class="fld" id="test5">
    <img id="test5fld" src="images/foldericon.png"> Folder5
</div>


maar daar kom ik ook niet echt verder mee... weet iemand een voorbeeld van een tree die gewoon werkt met divjes zonder al te veel functies... dus alleen maar aanroepen voor display veranderingen!?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_32945346
quote:
Op vrijdag 9 december 2005 14:42 schreef Ro�a� het volgende:
tot zo
Je kent me een beetje hé
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_32968153
Ik heb een soort inlogsysteem gemaakt wat je wachtwoord (md5) checked met het opgegeven md5(wachtwoord) in de database. werkt prima en is op zich wel redelijk veilig denk ik.

punt is, hij is niet hoofdlettergevoelig
is dat te fixen?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_32968354
quote:
Op zaterdag 10 december 2005 12:59 schreef Desdinova het volgende:
Ik heb een soort inlogsysteem gemaakt wat je wachtwoord (md5) checked met het opgegeven md5(wachtwoord) in de database. werkt prima en is op zich wel redelijk veilig denk ik.

punt is, hij is niet hoofdlettergevoelig
is dat te fixen?
MySQL is bij het controleren van een string niet hoofdlettergevoelig. Wat je wel kunt doen is de passwordstring (dus die md5-string) uit je database halen, dan krijg je precies dat wat er ook is ingezet. En dat kun je dan met strcmp weer vergelijken, strcmp moet dan 0 opleveren.
pi_32970596
oh hij deed t al
ik denk dat ik nog ingelogd was

md5(bla) creeert niet dezelfde waarde als md5(BLA)
dus op die manier is het hoofdlettergevoelig.

tx iig
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_32970633
quote:
Op zaterdag 10 december 2005 14:35 schreef Desdinova het volgende:

md5(bla) creeert niet dezelfde waarde als md5(BLA)
dus op die manier is het hoofdlettergevoelig.
Da's logisch toch? "bla" en "BLA" zijn verschillende strings. Het zou heel wat makkelijker kraken worden als dat niet zo was.
  zaterdag 10 december 2005 @ 14:43:55 #189
37634 wobbel
Da WoBBeL King
pi_32970816
Hoe kan ik met PHP een bestand doorgeven?

Ik heb blaat.php, en daar wil ik de inhoud van poepchinees.jpg in weergeven. Iets met filepassthrough() ofzo?
pi_32970987
quote:
Op zaterdag 10 december 2005 14:43 schreef wobbel het volgende:
Hoe kan ik met PHP een bestand doorgeven?

Ik heb blaat.php, en daar wil ik de inhoud van poepchinees.jpg in weergeven. Iets met filepassthrough() ofzo?
Readfile is waarschijnlijk het makkelijkst.
pi_32971003
echo '<a href="poepchinees.jpg">' ?

Maar header() zal een stapje moeten zijn (hoe verder weet ik niet zo)
  zaterdag 10 december 2005 @ 14:51:38 #192
37634 wobbel
Da WoBBeL King
pi_32971011
quote:
Op zaterdag 10 december 2005 14:50 schreef Light het volgende:

[..]

Readfile is waarschijnlijk het makkelijkst.
readfile idd, ik wou het net posten hier...maar er is er nog 1tje volgensmij
pi_32971098
fread?

ik heb een bestandje wat ws precies hetzelfde doet als wat de jouwes moet doen

de phpfile wordt je plaatje zeg maar. en dan moet je dus de filetype headers meegeven
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_32971398
quote:
Op vrijdag 9 december 2005 02:27 schreef JeRa het volgende:
Even een vraagje met betrekking tot security, of iig, het in stand houden daarvan.

(...)
Niemand die zijn licht kan laten schijnen over bovenstaande post?
pi_32974018
quote:
Op vrijdag 9 december 2005 02:27 schreef JeRa het volgende:
Even een vraagje met betrekking tot security, of iig, het in stand houden daarvan.

Ik heb hier twee perfect samenwerkende servers staan die vanalles doen, en om dat te managen heb ik in PHP een tool gemaakt genaamd AAP, Ares Administrative Panel (Ares is de naam van de server die o.a. als webserver fungeert). Deze tool is interactief en maakt dus gebruik van STDIN om mijn input te verwerken en draait dus ook onder php-cli, met de rechten van root. Dit is omdat AAP in staat moet zijn user directories te maken en qua rechten goed te zetten, de Apache webserver moet kunnen laten reloaden, en nog veel meer. Dit is op het moment allemaal prima afgeschermd.

Echter wil ik nu alles modulebased opbouwen waarbij ik voor iedere account incluis mezelf (de administrator) een webinterface biedt. Nu moet ik dus in staat zijn om via die webinterface hetzelfde te doen als via AAP, maar gezien PHP via Apache draait heeft het dus zo min mogelijk rechten (wat heel logisch is maar niet door elke webhoster in stand wordt gehouden - dat terzijde) waardoor dat niet mogelijk is. Ik heb dus een manier nodig om een veilige communicatie op te zetten tussen de webinterface en de 'backend' die als root-account aanpassingen aan beide servers doet.

Qua scripten is het voor mij geen probleem dit veilig te doen, het gaat mij vooral om de globale manier waarop ik dit zou moeten doen ik had zelf al bedacht dat ik wellicht een backend kon schrijven die als server fungeert en verbindingen accepteert, de verbinding authenticeert en vervolgens bepaalde acties toelaat. Gebruikers moeten overigens straks zelf ook in staat zijn subdomeinen toe te voegen waar een Apache reload voor nodig is.
Kort antwoord: Nee. Het kan veel veiliger.

Iets standaard onder root draaien is niet goed, geef hem pas de rechten van root, of gebruik het pas wanneer die functies nodig zijn. Doe het niet meteen al. Echter heb je het al afgeschermd zeg je, dus naar het tweede punt

Schrijf een backend applicatie die de rechten heeft van de user die je laat inloggen. Je php en linux logins zullen dus gelijk moeten zijn en de applicatie zal in iedereen zijn homedir moeten staan met zijn eigen rechten dus bijvoorbeeld:
/home/piet/
piet piet Run.sh

/home/henk/
henk henk Run.sh

Zo kun je alles netjes afschermen wat ze wel en niet mogen doen, en mogelijk heb je zo zelfs het root account niet nodig, als je de administrator de minimale maximale rechten geeft die hij nodig heeft.

Klinkt misschien wat warrig Maar hopelijk helpt het je
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
pi_32974552
quote:
Op zaterdag 10 december 2005 17:51 schreef existenz het volgende:

[..]

Schrijf een backend applicatie die de rechten heeft van de user die je laat inloggen. Je php en linux logins zullen dus gelijk moeten zijn en de applicatie zal in iedereen zijn homedir moeten staan met zijn eigen rechten dus bijvoorbeeld:
/home/piet/
piet piet Run.sh

/home/henk/
henk henk Run.sh
Hierbij komt een ietwat complexer geheel kijken.

Alle userinformatie, inclusief informatie over quotas, webdirectories, e-mailaliassen, etc, etc, wordt opgeslagen in een centrale database. Het is natuurlijk geen goed idee om iedereen toegang te geven tot die gegevens, dus is er een aparte account die alleen dit werk afhandelt.

De gebruikers kunnen zelf straks e-mailaliassen of subdomeinen aanmaken. Als ik dat onder hun account doe moeten ze ook het recht hebben om naam + wachtwoord van de account waarmee die informatie in de database kan worden gewijzigd te achterhalen --> weg veiligheid.

Dus ik had zo bedacht dat alles via één systeem moet lopen waarbij de gebruikers niet de werking van het systeem kunnen achterhalen (immers, alle scripts en wachtwoorden zitten in de bestanden waar zowel de webserver als de accounts op de machine zelf niet bij kunnen). Zou ik niet een zooi aan bash-scriptjes het onderliggende werk kunnen doen (apache reloaden, etc) d.m.v. sudo?
pi_32975301
quote:
Op zaterdag 10 december 2005 18:15 schreef JeRa het volgende:

[..]

Hierbij komt een ietwat complexer geheel kijken.

Alle userinformatie, inclusief informatie over quotas, webdirectories, e-mailaliassen, etc, etc, wordt opgeslagen in een centrale database. Het is natuurlijk geen goed idee om iedereen toegang te geven tot die gegevens, dus is er een aparte account die alleen dit werk afhandelt.

De gebruikers kunnen zelf straks e-mailaliassen of subdomeinen aanmaken. Als ik dat onder hun account doe moeten ze ook het recht hebben om naam + wachtwoord van de account waarmee die informatie in de database kan worden gewijzigd te achterhalen --> weg veiligheid.

Dus ik had zo bedacht dat alles via één systeem moet lopen waarbij de gebruikers niet de werking van het systeem kunnen achterhalen (immers, alle scripts en wachtwoorden zitten in de bestanden waar zowel de webserver als de accounts op de machine zelf niet bij kunnen). Zou ik niet een zooi aan bash-scriptjes het onderliggende werk kunnen doen (apache reloaden, etc) d.m.v. sudo?
Ja, dat doet ongeveer hetgene waar ik op doel, alleen kies jij voor een (misschien wel betere) oplossing waar het op 1 plaats gebeurd, maar de scripts dus meer rechten nodig hebben (denk ik, ik ken je model niet, en dat moet ook niet, anders had je het niet hoeven te bouwen ) of een lokale oplossing met ieg al meer onderhoud en mogelijk idd meer risico's.

Maar jou keuze idd, wat ik zou kiezen weet ik niet. Daar weet ik te weinig van jouw systeem en omgeving over, maar de oplossing die je aandraagt vind ik zeker aannemelijk.
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
  zaterdag 10 december 2005 @ 20:43:20 #198
65471 SkaterSam
Lurking Galore
pi_32978134
Grmmbblll, op een of andere manier krijg ik nooit errors te zien, maar telkens een standaard blanke pagina, maar dat terzijde...

Ik probeer een class te schrijven om een verbinding te maken met de database, maar ik krijg volgens de error.log van Apache de volgende fout:

1PHP Parse error:  syntax error, unexpected T_OBJECT_OPERATOR in <<path naar document.php>> on line 37


Maar ik snap niet wat er nou fout is...Dit is de code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
class Db_functies {
// enkele variabalen worden gedefinieerd hier...

    
function Db_functies($user,$pw,$naam) {
        if (
trim($user) == '') {
            
this-&gt;fout('Er is geen gebruiker opgegeven'); //Dit is lijn 37!!!
        
}
        if (
trim($pw) == '') {
            
this-&gt;fout('Er is geen wachtwoord opgegeven');
        }
        if (
trim($naam) == '') {
            
this-&gt;fout('Er is geen database opgegeven');
        }
        
        
this-&gt;db_user = $user;
        
this-&gt;db_pw = $pw;
        
this-&gt;db_naam = $naam;
        
this-&gt;c_db();
    }
?>


De functie fout() zit even verderop in het bestand, maar de fout zit dus volgens de lijst van Parser Tokens op php.net in de -> (het pijltje) tussen this en fout.. Is er iets wat ik over het hoofd zie...?
Let's make life easy
Typo's are the demon spawn from hell !
pi_32979229
Je moet $this gebruiken en niet this
  zaterdag 10 december 2005 @ 21:25:07 #200
65471 SkaterSam
Lurking Galore
pi_32979538
Grrmmmbllll zal je altijd zien, zoiets simpels... danku
Let's make life easy
Typo's are the demon spawn from hell !
pi_32979869
quote:
Op zaterdag 10 december 2005 21:25 schreef SkaterSam het volgende:
Grrmmmbllll zal je altijd zien, zoiets simpels... danku
PHP is bijna altijd de $ ervoor
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
  zaterdag 10 december 2005 @ 21:37:39 #202
37634 wobbel
Da WoBBeL King
pi_32979892
quote:
Op zaterdag 10 december 2005 21:25 schreef SkaterSam het volgende:
Grrmmmbllll zal je altijd zien, zoiets simpels... danku
Dat soort dingen heb ik ook heel veel hoor schaam je niet
* wobbel phpt er lekker op los nu


Vergeet je PHPMyAdmin trouwens niet te updaten!! Zit groot security leak in!

[ Bericht 5% gewijzigd door wobbel op 10-12-2005 21:45:21 ]
pi_32981884
quote:
Op zaterdag 10 december 2005 20:43 schreef SkaterSam het volgende:
Grmmbblll, op een of andere manier krijg ik nooit errors te zien, maar telkens een standaard blanke pagina, maar dat terzijde...
Heb je wel display_errors = On staan in php.ini?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas zaterdag 10 december 2005 @ 22:53:01 #204
1972 Swetsenegger
Egocentrische Narcist
pi_32982064
quote:
Op zaterdag 10 december 2005 22:46 schreef SuperRembo het volgende:

[..]

Heb je wel display_errors = On staan in php.ini?
Ik heb tijdens ontwikkeling altijd error_reporting(E_ALL); aanstaan, maar als ik een curly bracket vergeet krijg ik ook een lege page te zien en geen foutmelding
  zaterdag 10 december 2005 @ 22:54:41 #205
65471 SkaterSam
Lurking Galore
pi_32982108
quote:
Op zaterdag 10 december 2005 22:53 schreef Swetsenegger het volgende:

[..]

Ik heb tijdens ontwikkeling altijd error_reporting(E_ALL); aanstaan, maar als ik een curly bracket vergeet krijg ik ook een lege page te zien en geen foutmelding
Jup, dat heb ik dus ook ja, dus moet ik altijd de fouten uit de error.log lezen, verder niet zo'n probleem, wel een beetje onhandig
Let's make life easy
Typo's are the demon spawn from hell !
pi_32982120
quote:
Op zaterdag 10 december 2005 22:46 schreef SuperRembo het volgende:

[..]

Heb je wel display_errors = On staan in php.ini?
Dank, ik niet
pi_32982556
quote:
Op zaterdag 10 december 2005 22:54 schreef SkaterSam het volgende:

[..]

Jup, dat heb ik dus ook ja, dus moet ik altijd de fouten uit de error.log lezen, verder niet zo'n probleem, wel een beetje onhandig
weet iemand een leuke windows apache log file parser?
zou ik wel handig vinden..
  zondag 11 december 2005 @ 16:21:22 #208
37634 wobbel
Da WoBBeL King
pi_32991164
Ok, komt ie dan...ik ben bezig met een Forum en het is circa 1½ jaar geleden dat ik met joins ofzo heb gewerkt in een query. Dat ik dus gegevens uit 2 tabellen haal dmv 1 query.

Wat is het doel? Ik wil informatie uit 2 tabellen ophalen. Ik heb nu de tabel ForumTopics,waarmee ik een loop maak om alle topics uit te poepen. Opzich werkt dat prima. Nu heb ik ook een tabel genaamd ForumMessages met alle berichten (ook het eerste bericht). Nu wil ik dus de datum van het laatste geplaatste bericht uit ForumMessages weergeven in de loop van ForumTopics. Dus achter elke topic wanneer er voor het laatst gereageerd is.
Ook wil ik het aantal records uit ForumMessages weten bij het bijbehorende IdTopic uit de loop.

M'n algemene vraag is dus: Kan dit met minder query's? (alleen als het sneller is)
Wat heb ik nu? Ik heb het nu dmv 3 aparte query's. Lekker brak dus.
Zie mijn code hieronder:

http://194.126.173.14/~xostnl/tccl/fokcode.phps
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php
php
session_start
();
/* Load main library Files */
require_once                                    ("lib/htconfig.php");
require_once(                                    
$GLOBALS['SITE']['LibPath'] . "/main.php");

if(!
$_GET['sid'])
{

    
$error-&gt;Report                                ("Er is geen (sub)forum ID meegegeven. Bewerking is afgebroken.");

}
else
{

    
$MySQL_Fora_Select                            = "SELECT IdForumSubCat, ForumCatId, Titel FROM ForumSubCat WHERE IdForumSubCat = '" . addslashes($_GET['sid']) . "' LIMIT 1";
    
$MySQL_Fora_Query                            = mysql_query($MySQL_Fora_Select) or die($error-&gt;ReportMysqlError(__FILE__, $MySQL_Fora_Select ,__LINE__));
    
$MySQL_Fora_Numrow                            = mysql_num_rows($MySQL_Fora_Query);
    
    if(
$MySQL_Fora_Numrow &gt;= 1)
    {
    
        
## Select the main forum Titel and Image
        
$MySQL_Fora_Assoc                        = mysql_fetch_assoc($MySQL_Fora_Query);

        
$MySQL_Forum_Select                        = "SELECT IdForumCat, Titel, TitelImage FROM ForumCat WHERE IdForumCat = '" . addslashes($MySQL_Fora_Assoc['ForumCatId']) . "' LIMIT 1";
        
$MySQL_Forum_Query                        = mysql_query($MySQL_Forum_Select) or die(mysql_error());
        
$MySQL_Forum_Assoc                        = mysql_fetch_assoc($MySQL_Forum_Query);
        
        
$tml-&gt;RegisterVar                        ("CONTENTTOP", $MySQL_Forum_Assoc['TitelImage']);
        
$tml-&gt;RegisterVar                        ("FORUMTITLE", $MySQL_Forum_Assoc['Titel']);
        
$tml-&gt;RegisterVar                        ("SUBFORUMTITLE", $MySQL_Fora_Assoc['Titel']);
        
##
    
        
$MySQL_Topic_Select                        = "SELECT IdTopic, UserId, Titel, Type FROM ForumTopics WHERE SubCatId = '" . addslashes($_GET['sid']) . "' ORDER BY Date DESC";
        
$MySQL_Topic_Query                        = mysql_query($MySQL_Topic_Select) or die(mysql_error());
        
$MySQL_Topic_Numrow                        = mysql_num_rows($MySQL_Topic_Query);
                
        while(
$Topic = mysql_fetch_assoc($MySQL_Topic_Query))
        {                
            
            
$MySQL_Message_Select                = "SELECT TopicId, Datum FROM ForumMessages WHERE TopicId = '" . $Topic['IdTopic'] . "' ORDER BY Datum DESC LIMIT 1";
            
$MySQL_Message_Query                = mysql_query($MySQL_Message_Select) or die(mysql_error() . " op regel: " . __LINE__ . "<br />De betreffende query:" . $MySQL_Message_Select);
            
$MySQL_Message_Assoc                = mysql_fetch_assoc($MySQL_Message_Query);            
            
$LastPostInTopic                    = $MySQL_Message_Assoc['Datum'];
            
            
$MySQL_Reacties_Select                = "SELECT COUNT(IdMessage) FROM ForumMessages WHERE TopicId = '" . $Topic['IdTopic'] . "'";
            
$MySQL_Reacties_Query                = mysql_query($MySQL_Reacties_Select);
            
$MySQL_Reacties_Result                = mysql_result($MySQL_Reacties_Query, 0);
                        
            
$LoopData         = array    (
            
                                                
"TITLE"                =&gt; $Topic['Titel'],
                                                
"IDTOPIC"            =&gt; $Topic['IdTopic'],
                                                
"USERID"            =&gt; $main-&gt;User_Name($Topic['UserId'], 1),
                                                
"REACTIES"            =&gt; $MySQL_Reacties_Result,
                                                
"LASTPOST"            =&gt; date("d-m-Y H:i:s", $LastPostInTopic),
                                                                    
                                    );
        
            
            
$i++;
            
            
/* Registreren van een Loop */
            
$tml-&gt;RegisterLoop("TOPIC",$i,$LoopData);
                
        }
    
        
/* Load Header file */
        
$tml-&gt;LoadFromFile                        ("pages/overall_header");
        
$tml-&gt;Parse();
        
        
/* Load Page Content */
        
$tml-&gt;LoadFromFile                        ("pages/forum_subcat");
        
$tml-&gt;Parse();
        
        
/* Load Footer file */
        
$tml-&gt;LoadFromFile                        ("pages/overall_footer");
        
$tml-&gt;Parse();
        
        
/* Output Pages */
        
$tml-&gt;Output();
        
    }
    else
    {
    
        
$error-&gt;Report                            ("Het (sub)forum dat je probeert op te vragen is niet gevonden.");
    
    }
    
}
?>
  FOK!-Schrikkelbaas zondag 11 december 2005 @ 20:15:58 #209
1972 Swetsenegger
Egocentrische Narcist
pi_32996630
Korte vraag,

zoals jullie weten ben ik met een webshop bezig.
Het winkelwagentje is een array, waarbij de key het produkt ID is en de value het aantal.

Nu moet ik deze gegevens op gaan slaan in de db. Zal ik simpelweg de array opslaan in een kolom? Het lijkt me een beetje 'vreemde' oplossing eigenlijk, maar aan de andere kant lijkt het me niet handig wanneer ik elk produkt van de bestelling afzonderlijk in een kolom of rij op ga slaan en vervolgens nog iets van een koppeltable moet maken voor de aantallen.
pi_32997368
quote:
Op zondag 11 december 2005 20:15 schreef Swetsenegger het volgende:
Korte vraag,

zoals jullie weten ben ik met een webshop bezig.
Het winkelwagentje is een array, waarbij de key het produkt ID is en de value het aantal.

Nu moet ik deze gegevens op gaan slaan in de db. Zal ik simpelweg de array opslaan in een kolom? Het lijkt me een beetje 'vreemde' oplossing eigenlijk, maar aan de andere kant lijkt het me niet handig wanneer ik elk produkt van de bestelling afzonderlijk in een kolom of rij op ga slaan en vervolgens nog iets van een koppeltable moet maken voor de aantallen.
Dat laatste is dus wel de juiste manier, het gaat hier niet om "handig", want misschien gaat het opslaan zo wel sneller, maar het ophalen wel 10x zo traag!
This message is intended for the addressee shown. It contains information that is confidential and protected from disclosure. The contents of this message do not necessarily represent the views or policies of myself.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')