abonnement Unibet Coolblue Bitvavo
pi_45797949
Ik probeer een pagina op een website binnen te halen middels file_get_contents(). Gaat allemaal goed, alleen omdat dit een beveiligde pagina is (joomla-cms) krijg ik dan niet de hele inhoud van de pagina te zien, maar de mededeling "je bent niet gemachtigd, etc". Logisch, want ik ben niet ingelogd op die site.

Okay, cookies meesturen. Maar hoe werkt dit (of specifieker, hoe werkt dit bij een Joomla pagina)? Welke cookies zijn belangrijk? Ik heb nu deze code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$uri
= "http://www.example.com/index.php?option=blaat";

$contextOptions = array(
    
"http" => array (
        
"header" => "Cookie: jalUserName=Username;PHPSESSID=abc12345;419f256etc.=532d83678etc.rn"
        
)
    );

$context = stream_context_create( $contextOptions );

$page = file_get_contents( $uri, false, $context );

echo
$page;
?>

Waarbij die laatste waarde in de cookie (419..) een 32 tekens lange Hex-waarde is met als waarde (532...) een 67 tekens lange hex-waarde. Als ik dit zo stuur krijg ik een error "Redirection limit reached". Kan ik daaruit concluderen dat de login op zich werkt, alleen dat ik word teruggestuurd naar de pagina en dat er daar wat mis gaat (ik draai dat script vanaf www.mijnsite.nl/script.php)? Of gaat die login sowieso niet goed? Als ik die laatste waarde met al die hex-shit weglaat, krijg ik gewoon de "niet gemachtigd deze pagina te bekijken error".

Weet iemand of dit gaat werken? Of kijkt Joomla naar meer dingen tijdens het inloggen, zoals IP waar het vandaan komt of User-Agent? En is dat dan nog ergens mee te nemen?

disclaimer: het gaat om het automatisch inlezen van een grote pagina met data waar ik wel toegang tot heb via de browser, maar dus niet via een script
Die Welt ist alles was der Fall ist.
pi_45799293
quote:
Op maandag 29 januari 2007 18:06 schreef CraZaay het volgende:
Die zijn er niet. Een 'externe module' is niets generieks, en 'een CMS systeem' ook niet.
Hoezo niet? er zijn ook tutorialen over het maken van een CMS zelf (voor standaard pagina's ed) maar is er anders dan een beschrijving hoe anderen werken met externe modules? zou fijn vinden om hier wat meer informatie over te hebben.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45799770
quote:
Op maandag 29 januari 2007 17:18 schreef super-muffin het volgende:

[..]

Ja daar zat ik ook aan te denken. Met preg_match.
Maar ik dacht, misschien is er een makkelijkere manier.
Ik weet niet waar je het voor wil gebruiken maar hou er wel rekening mee dat de headers van een website vrij makkelijk zijn aan te passen waardoor een bezoeker ook kan doen alsof hij van jou domein afkomt.
-
pi_45799858
quote:
Op zaterdag 27 januari 2007 10:36 schreef JeRa het volgende:

[..]

Als PHP zegt dat ie op versie 5 draait, dan is de kans klein dat er ergens stukjes PHP4 achter zijn gebleven

Verder is het een goed idee om de configuratie met elkaar te vergelijken. Zolang die code die je net liet zien de enige relevante code is en je in eerste instantie alleen $_SESSION hebt gebruikt zonder dat dat werkte, is er iets vreemds aan de hand en is het slim om zo even het één en het ander te vergelijken ja.
Hij heeft uiteindelijk maar een ander pakket geïnstalleerd (xamp ofzo?) en die deed het wel gelukkig. Geen idee wat het probleem is geweest maar bedankt in ieder geval voor de hulp.
-
  maandag 29 januari 2007 @ 19:33:38 #165
107951 JortK
Immer kwaliteitsposts
pi_45800687
Weet iemand hoe dit kan? Ik krijg de volgende error: General error: 1406 Data too long for column 'search_d' at row 1 . Ik gebruik mysql en php5 en het veld type is 'text'.
..///
pi_45800837
Het datatype TEXT kan maar 216+2 bytes aan, oftewel 65538 tekens. Je zou een MEDIUMTEXT (224+2) of LONGTEXT (232+2) kunnen nemen.

Bron: http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html.
pi_45801051
quote:
Op maandag 29 januari 2007 19:48 schreef HuHu het volgende:
Het datatype TEXT kan maar 216+2 bytes aan, oftewel 65538 tekens. Je zou een MEDIUMTEXT (224+2) of LONGTEXT (232+2) kunnen nemen.

Bron: http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html.
Zowel met mediumtext als met longtext krijg ik de zelfde error. Het gaat overigens om 4399 tekens, dus waarschijnlijk ligt het ergens anders aan?
..///
pi_45801172
Ik moet er overigens bij zeggen dat ik gebruik maak van 'TRADITIONAL' als SQL mode en utf-8.
quote:
TRADITIONAL is shorthand for "both strict modes, plus a bunch of other restrictions."
This is more like the way that other "traditional" SQL DBMSs act with regard to data checking.
edit:

dit is dus de boosdoener: 'SET NAMES utf8'. (dat uitgevoerd wordt bij iedere verbinding). Moet ik dit maar gewoon weghalen of is er een andere manier om dit op te lossen?

[ Bericht 20% gewijzigd door wipes66 op 29-01-2007 20:05:09 ]
..///
pi_45801333
Ik lees ook dingen dat het zou kunnen liggen aan het feit dat je characters in de cel probeert te stoppen die niet voorkomen in de gebruikte charset.
  maandag 29 januari 2007 @ 20:05:18 #171
12880 CraZaay
prettig gestoord
pi_45801444
quote:
Op maandag 29 januari 2007 19:08 schreef Chandler het volgende:

[..]

Hoezo niet? er zijn ook tutorialen over het maken van een CMS zelf (voor standaard pagina's ed) maar is er anders dan een beschrijving hoe anderen werken met externe modules? zou fijn vinden om hier wat meer informatie over te hebben.
CMS systemen kun je op ontelbare manieren bouwen. 'Externe modules' (wat dat ook moge zijn) ook. Hoe wil je hier dan ooit een tutorial over schrijven, tenzij je definieert wat voor externe module voor welk CMS?

Om het anders te stellen: als je naar een garage gaat en je vraagt of ze een uitbreiding voor een auto kunnen bouwen, wat denk je dat ze dan zeggen?

[ Bericht 8% gewijzigd door CraZaay op 29-01-2007 20:22:55 ]
  maandag 29 januari 2007 @ 20:12:00 #172
107951 JortK
Immer kwaliteitsposts
pi_45801735
Damn kut IIS 5.1

Heb net PHP erbij geinstalleerd, maar nu iedere keer als ik een link naar een PHP pagina aanklik, wil me browser de PHP pagina gaan downloaden :S

Weet iemand wat er misgaat?

* JortK is nog een PHP n00bie
pi_45803342
Eerder een IIS newbie dan . Heb je alle stappen op deze pagina gedaan: http://www.php.net/manual/en/install.windows.iis.php?
  maandag 29 januari 2007 @ 21:04:29 #174
107951 JortK
Immer kwaliteitsposts
pi_45803991
quote:
Op maandag 29 januari 2007 20:50 schreef HuHu het volgende:
Eerder een IIS newbie dan . Heb je alle stappen op deze pagina gedaan: http://www.php.net/manual/en/install.windows.iis.php?
Nu wanneer ik de link aanklik naar het script... blijft deze oneindig laden

De zoektocht gaat door
pi_45804141
Een reboot gedaan?
  maandag 29 januari 2007 @ 21:19:28 #176
107951 JortK
Immer kwaliteitsposts
  FOK!-Schrikkelbaas maandag 29 januari 2007 @ 21:50:31 #177
1972 Swetsenegger
Egocentrische Narcist
pi_45806234
quote:
Op maandag 29 januari 2007 21:04 schreef JortK het volgende:

[..]

Nu wanneer ik de link aanklik naar het script... blijft deze oneindig laden
heb je geen infinite loop in je script?
  maandag 29 januari 2007 @ 22:07:30 #178
107951 JortK
Immer kwaliteitsposts
pi_45806958
Neej er zat een fout in me configuratie.

Echter wanneer ik nu het PHP script open, geeft Firefox de volgende melding:



* JortK heeft nog nooit zoveel geleerd op een avond
  maandag 29 januari 2007 @ 22:09:40 #179
107951 JortK
Immer kwaliteitsposts
  FOK!-Schrikkelbaas maandag 29 januari 2007 @ 22:41:26 #180
1972 Swetsenegger
Egocentrische Narcist
pi_45808379
Je php is blijkbaar niet goed geinstalleerd. Waarom wil je uberhaupt met IIS werken?
  maandag 29 januari 2007 @ 22:43:46 #181
107951 JortK
Immer kwaliteitsposts
pi_45808482
Omdat Apache een fucking foutmelding geeft op de een of andere manier... Is er ook een pakket waarin Apache en PHP al in één zitten... dat net zo lief
pi_45808800
quote:
Op maandag 29 januari 2007 22:43 schreef JortK het volgende:
Omdat Apache een fucking foutmelding geeft op de een of andere manier... Is er ook een pakket waarin Apache en PHP al in één zitten... dat net zo lief
AppServ, XAMPP
-
  maandag 29 januari 2007 @ 22:51:20 #183
107951 JortK
Immer kwaliteitsposts
  FOK!-Schrikkelbaas maandag 29 januari 2007 @ 23:06:23 #184
1972 Swetsenegger
Egocentrische Narcist
pi_45809539
quote:
Op maandag 29 januari 2007 22:43 schreef JortK het volgende:
Omdat Apache een fucking foutmelding geeft op de een of andere manier...
IIS ook
quote:
Is er ook een pakket waarin Apache en PHP al in één zitten... dat net zo lief
Like hundreds

Maar inderdaad, AppServ, Xamp en tientallen andere zogenaamde WAMP (windows Apache MySql PHP) installers, die er uiteraard ook zijn voor Linux (LAMP) en Mac (MAMP)
  maandag 29 januari 2007 @ 23:12:41 #185
107951 JortK
Immer kwaliteitsposts
pi_45809839
Ja sorry ik moet leren... dus kan zijn dat ik stomme vragen stel

Nu heb ik XAMPP geinstalleerd.. Apache draait ook weer (how strange)

Alleen nu als ik het PHP script run krijg ik een blank scherm, en als ik me source bekijk zie ik wel de code staan (de php code)

Iets gaat er dus nog niet goed
  FOK!-Schrikkelbaas maandag 29 januari 2007 @ 23:17:32 #186
1972 Swetsenegger
Egocentrische Narcist
pi_45810027
quote:
Op maandag 29 januari 2007 23:12 schreef JortK het volgende:
Ja sorry ik moet leren... dus kan zijn dat ik stomme vragen stel
Nee hoor, ik moest alleen even lachen
quote:
Nu heb ik XAMPP geinstalleerd.. Apache draait ook weer (how strange)
Hoezo is dat strange Apache is onderdeel van XAMPP
quote:
Alleen nu als ik het PHP script run krijg ik een blank scherm, en als ik me source bekijk zie ik wel de code staan (de php code)

Iets gaat er dus nog niet goed
Je hebt een fout in je script. je bent een ; of een } ofzo vergeten.
  maandag 29 januari 2007 @ 23:52:57 #187
18008 hornage
FOK! Movie Trivia-Prijsmeester
pi_45811218
ff in je php.ini show_errors ofzo aanzetten, dan geeft ie precies aan wat er misgaat.
Test je filmkennis! Speel mee met FOK! Movie Trivia en win prijzen!
pi_45815045
quote:
Op maandag 29 januari 2007 19:48 schreef HuHu het volgende:
Het datatype TEXT kan maar 216+2 bytes aan, oftewel 65538 tekens. Je zou een MEDIUMTEXT (224+2) of LONGTEXT (232+2) kunnen nemen.
Je zit er telkens ééntje te hoog
pi_45815182
quote:
Op dinsdag 30 januari 2007 06:42 schreef JeRa het volgende:

[..]

Je zit er telkens ééntje te hoog
Euh, 3 te hoog toch?
pi_45815313
quote:
Op dinsdag 30 januari 2007 07:31 schreef Light het volgende:

[..]

Euh, 3 te hoog toch?
Klopt
pi_45816137
quote:
Op maandag 29 januari 2007 20:05 schreef CraZaay het volgende:

[..]

CMS systemen kun je op ontelbare manieren bouwen. 'Externe modules' (wat dat ook moge zijn) ook. Hoe wil je hier dan ooit een tutorial over schrijven, tenzij je definieert wat voor externe module voor welk CMS?

Om het anders te stellen: als je naar een garage gaat en je vraagt of ze een uitbreiding voor een auto kunnen bouwen, wat denk je dat ze dan zeggen?
Je hebt deels gelijk, maar ik zie dus steeds meer scripts komen waarbij men apparte modules kan aanschaffen zoals een gastenboek, galerij, contact formulier, downloads, forum, etc etc etc... nu kun je deze scripts zo in een directory zetten en een installer draaien en klaar is kees!

Ik wil graag weten hoe verwerk je dit in een huidig systeem zoals een CMS die met modules werkt, oftewel modules aan / modules uit..

heb al aardig wat systemen bekeken maar kan er geen wijs uit worden...

zelf heb ik nu het volgende bedacht voor mijn CMS.

Iedere module bestaat uit 3 bestanden.
1. config
2. admin
3. het script

het script heeft een paar verschillende functies die voor alle scripts het zelfde zijn. (bv)

gallery.php

functions:
gallery_post() // om postings te verwerken
gallery_run() // laat gallery zien, $_GET kan deze zelf wel verwerken!
gallery_etc() // etc etc etc

nu gaat mijn CMS bij een $_SERVER['REQUEST_METHOD'] == "POST" eerst van deze module gallery_post() draaien voordat het gallery_run() draait..

snap je mijn idee? maar wil weten of het ook handig is zo?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45816722
Is het niet makkelijker om zo'n module OO te schrijven?

Dus dat je een class gallery maakt, die allerlei erft van een parent class waarin dbase, authenticatie, variabele checks e.d. worden gedaan.

Dat lijkt me makkelijker te onderhouden en later uit te bereiden.
pi_45817498
smesjz: ik ben zelf helaas nog niet erg into OO maar zou je mij de voordelen daarvan kunnen vertellen en eventueel een voorbeeld?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 30 januari 2007 @ 10:52:41 #194
12880 CraZaay
prettig gestoord
pi_45817881
quote:
Op dinsdag 30 januari 2007 10:33 schreef Chandler het volgende:
smesjz: ik ben zelf helaas nog niet erg into OO maar zou je mij de voordelen daarvan kunnen vertellen en eventueel een voorbeeld?
Je hebt nog nooit met classes gewerkt Chandler? Zie voor meer info: http://nl3.php.net/oop

Je kunt classes 'extenden', waardoor deze nieuwe class toegang heeft tot de methods van z'n 'parent'.

Je gebruikt dan dus 1 class voor het standaard werk (dbase, etc), en een extension voor iedere module die je eraan wilt knopen. Dit zou je kunnen gebruiken voor je 'het script heeft een paar verschillende functies die voor alle scripts hetzelfde zijn'-verhaal
pi_45817961
Een vergelijking tussen OO en functioneel programmeren kan je met een beetje Google werk zelf ook wel vinden.
De verschillen zijn te groot vind ik om zo ff uit te leggen, dat is al door anderen duidelijker gedaan

Bij een CMS zou je kunnen een Pagina als een object kunnen beschouwen. Zo'n pagina kan je bijv. tonen, verwijderen, activeren e.d. (methods). En een pagina heeft wat eigenschappen zoals een titel, auteur, status, datum e.d. (properties).

En ieder Pagina object heeft een aantal Content elementen (children) die op hun beurt ook weer kunnen objecten zijn. Zo'n element heeft bijv. een type (video, tekst, link, e.d.) en kan verwijderd worden, gewijzigd, toegevoegd e.d. worden.

Het brengt wat meer logica in je code denk ik.
pi_45818803
quote:
Op dinsdag 30 januari 2007 10:52 schreef CraZaay het volgende:
Je hebt nog nooit met classes gewerkt Chandler? Zie voor meer info: http://nl3.php.net/oop
Tuurlijk wel, maar dan wel simpele oplossingen
quote:
Je kunt classes 'extenden', waardoor deze nieuwe class toegang heeft tot de methods van z'n 'parent'.

Je gebruikt dan dus 1 class voor het standaard werk (dbase, etc), en een extension voor iedere module die je eraan wilt knopen. Dit zou je kunnen gebruiken voor je 'het script heeft een paar verschillende functies die voor alle scripts hetzelfde zijn'-verhaal
ah, nu snap ik er helemaal de ballen meer van, maar ik ga php.net eens doorspitten.
quote:
Op dinsdag 30 januari 2007 10:56 schreef smesjz het volgende:
Een vergelijking tussen OO en functioneel programmeren kan je met een beetje Google werk zelf ook wel vinden.
De verschillen zijn te groot vind ik om zo ff uit te leggen, dat is al door anderen duidelijker gedaan
Ik dacht dus altijd dat classes vooral makkelijk te gebruiken waren wanneer je vaak dezelfde functies moest aanroepen met verschillende waarden zodat je bv gemakkelijker een 3d berekening kon doen...
quote:
Bij een CMS zou je kunnen een Pagina als een object kunnen beschouwen. Zo'n pagina kan je bijv. tonen, verwijderen, activeren e.d. (methods). En een pagina heeft wat eigenschappen zoals een titel, auteur, status, datum e.d. (properties).

En ieder Pagina object heeft een aantal Content elementen (children) die op hun beurt ook weer kunnen objecten zijn. Zo'n element heeft bijv. een type (video, tekst, link, e.d.) en kan verwijderd worden, gewijzigd, toegevoegd e.d. worden.
Ah, nog niet helemaal duidelijk maar ik begin het wat meer te begrijpen.
quote:
Het brengt wat meer logica in je code denk ik.
Hoeft natuurlijk niet, tis net waar je code voor gebruikt gaat worden...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45819073
Ik wil me ook wel eens gaan verdiepen in OOP. Ik begin het nu (ook na de uitleg van Smesjz) een beetje te snappen.
pi_45819848
quote:
Op dinsdag 30 januari 2007 11:33 schreef Chandler het volgende:
Hoeft natuurlijk niet, tis net waar je code voor gebruikt gaat worden...
Logica in de zin dat je niet OF een hoop variabele global hoeft te maken OF mee als parameter heen en weer hoeft te gooien.

Zeker als je veel code gaat schrijven kan je losse classes denk ik makkelijker geschikt maken voor hergebruik. Je hoeft ook minder bang te zijn voor conflicten bij variabele en functie naamgeving.

Je kan een render() method hebben binnen een Pagina object en binnen een Element object en beiden zitten ze elkaar niet de weg. Maar als je geen OO gebruikt moet je dus altijd een prefix gebruiken.

Kortom: zowel functioneel als OO hebben voor- en nadelen, maar ik denk dat zeker bij grote projectjes als een CMS een OO achtige aanpak het slimst is.

Voor kleine zaken maakt het weinig uit welke aanpak je hanteert.


Zo kan je een abstracte classe maken als framework voor verdere implementatie door anderen en op die manier structuur afdwingen.
  FOK!-Schrikkelbaas dinsdag 30 januari 2007 @ 12:39:38 #199
1972 Swetsenegger
Egocentrische Narcist
pi_45820490
Het OO kwartje wil bij mij ook maar niet vallen.
Ik begrijp het concept, maar het goed toepassen blijft zo compleet anders denken dan dat ik na 25 jaar functioneel programmeren gewend ben.
  dinsdag 30 januari 2007 @ 12:49:01 #200
85514 ralfie
!Yvan eht nioj
pi_45820759
quote:
Op dinsdag 30 januari 2007 12:39 schreef Swetsenegger het volgende:
Het OO kwartje wil bij mij ook maar niet vallen.
Ik begrijp het concept, maar het goed toepassen blijft zo compleet anders denken dan dat ik na 25 jaar functioneel programmeren gewend ben.
Dat heb ik ook. Bij c++, java en zelfs javascript kan ik zat toepassingen bedenken, maar bij php gaat het niet verder als $db->query("select blah from blah where bla='blabla'"); En zelfs daar is het nut tegenover gewone functies mij nauwelijks duidelijk
pi_45820936
Ik gebruik bijna alleen maar OO-implementaties in PHP, maar alleen wanneer dit het werken makkelijker maakt of als ik nut zie in het opbouwen van verschillende lagen (extenden).

Als ik met meerdere databases tegelijk moet werken is het geweldig om het hele idee van link resources in een class weg te werken, het bespaart code en queries zijn makkelijker op één plek goed te debuggen.

Het extenden heeft voor mij ook ontzettend veel nut; ik heb bijvoorbeeld ooit een basisimplementatie van een tree-index in een class gemaakt. Vervolgens heb ik deze extended naar classes die elk op verschillende manieren gebruik maakten van die index, en er uiteindelijk ook verschillende dingen in konden opslaan en/of op andere manieren konden opvragen.

Had ik dat proceduraal gedaan, dan had ik op een gegeven moment door de bomen de tree niet meer gezien.
pi_45821758
Bij PHP kan je natuurlijk een authenticatie object maken voor alles wat daar mee te maken heeft er in mikken. Idem voor database interactie.

Maar het vereist denk ik een andere denkwijze. Idem met een MVC benadering, je kan natuurlijk dbase queries in een template stoppen omdat het zo makkelijk is. Als je echt met OO aan de slag wil kan je eens kijken naar Rubyonrails.

Bovendien kan je met OO ook allerlei handige methodes gebruiken zoals UML voordat je meteen gaat coden.

Simpel voorbeeldje van wat OO:

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
<?php
class SimpelLampje {
    
private $enabled false;
    
private $voltage "220v";
    
private $kleur "groen";

   
public function __construct()
   {
     echo 
"Ik ben een simpel lampje die aan en uit kan n";
   }

    
public function AanUit() {
      
$this->enabled = !$this->enabled;
   }

    
public function Rapporteer()
   {
     
$status = ($this->enabled) ? "Aan" "Uit";
      
printf("Het lampje is nu %s n",$status);
   }

}

class 
BeterLampje extends Simpellampje {
   
public function __construct()
   {
    
parent::__construct();
   echo 
"Maar ik kan nu meer n";
   }

   
public function dim($percentage 100)
   {
   
printf"Het licht wordt gedimmed tot %d procent n",$percentage);
   }

}

$simpel = new SimpelLampje;
$simpel->Rapporteer();
$beter = new BeterLampje;
$beter->AanUit();
$beter->Rapporteer();
$beter->dim(50);
?>


Dit geeft ->

1
2
3
4
5
6
Ik ben een simpel lampje die aan en uit kan
Het lampje is nu Uit
Ik ben een simpel lampje die aan en uit kan
Maar ik kan nu meer
Het lampje is nu Aan
Het licht wordt gedimmed tot 50 procent


Hoewel erg triviaal, geeft het toch al een beetje de basics van OO weer. Zo hoef je gedeelde functionaliteit (methods, properties) zoals de AanUit en Rapporteer functie maar 1 keer te definieeren.
Al die basisfunctionaliteit erft de verbetere lamp automatisch.

En zo kan je natuurlijk ook de AanUit method in BeterLampje opnieuw schrijven zodat ie niet alleen aan of uit kan zijn, maar ook gedimd kan zijn.
  dinsdag 30 januari 2007 @ 13:59:19 #203
12880 CraZaay
prettig gestoord
pi_45822351
quote:
Op dinsdag 30 januari 2007 13:40 schreef smesjz het volgende:

Als je echt met OO aan de slag wil kan je eens kijken naar Rubyonrails.
Halleluja! Wij doen echt alles met Ruby on Rails, tenzij een opdrachtgever expliciet PHP of Java wil.

Al is RoR wel iets totaal anders dan PHP (of hoe de meesten hier PHP gebruiken). Rails is bijv. een MVC-framework (een concept dat de meesten hier niet gebruiken en/of kennen). Maarrr... als je eenmaal RoR gebruikt hebt wil je niet meer terug (al was het maar voor de ActiveRecord implementatie ).

Voor de PHP'ers die langzaamaan willen wennen aan MVC zou ik eens naar Code Igniter of CakePHP kijken.
pi_45822681
quote:
Op maandag 29 januari 2007 18:33 schreef keeper het volgende:
Ik probeer een pagina op een website binnen te halen middels file_get_contents(). Gaat allemaal goed, alleen omdat dit een beveiligde pagina is (joomla-cms) krijg ik dan niet de hele inhoud van de pagina te zien, maar de mededeling "je bent niet gemachtigd, etc". Logisch, want ik ben niet ingelogd op die site.

Okay, cookies meesturen. Maar hoe werkt dit (of specifieker, hoe werkt dit bij een Joomla pagina)? Welke cookies zijn belangrijk? Ik heb nu deze code:
[ code verwijderd ]

Waarbij die laatste waarde in de cookie (419..) een 32 tekens lange Hex-waarde is met als waarde (532...) een 67 tekens lange hex-waarde. Als ik dit zo stuur krijg ik een error "Redirection limit reached". Kan ik daaruit concluderen dat de login op zich werkt, alleen dat ik word teruggestuurd naar de pagina en dat er daar wat mis gaat (ik draai dat script vanaf www.mijnsite.nl/script.php)? Of gaat die login sowieso niet goed? Als ik die laatste waarde met al die hex-shit weglaat, krijg ik gewoon de "niet gemachtigd deze pagina te bekijken error".

Weet iemand of dit gaat werken? Of kijkt Joomla naar meer dingen tijdens het inloggen, zoals IP waar het vandaan komt of User-Agent? En is dat dan nog ergens mee te nemen?

disclaimer: het gaat om het automatisch inlezen van een grote pagina met data waar ik wel toegang tot heb via de browser, maar dus niet via een script
Iemand hier nog sterke ideeën over?

Of versimpeld: hoe is het mogelijk om via een script te faken dat je bent ingelogd op een site, zodat je gegevens die achter die login staan automatisch binnen kan trekken?
Die Welt ist alles was der Fall ist.
  FOK!-Schrikkelbaas dinsdag 30 januari 2007 @ 14:11:03 #205
1972 Swetsenegger
Egocentrische Narcist
pi_45822715
quote:
Op dinsdag 30 januari 2007 13:40 schreef smesjz het volgende:
Bij PHP kan je natuurlijk een authenticatie object maken voor alles wat daar mee te maken heeft er in mikken. Idem voor database interactie.

Maar het vereist denk ik een andere denkwijze. Idem met een MVC benadering, je kan natuurlijk dbase queries in een template stoppen omdat het zo makkelijk is. Als je echt met OO aan de slag wil kan je eens kijken naar Rubyonrails.

Bovendien kan je met OO ook allerlei handige methodes gebruiken zoals UML voordat je meteen gaat coden.

Simpel voorbeeldje van wat OO:
[ code verwijderd ]

Dit geeft ->
[ code verwijderd ]

Hoewel erg triviaal, geeft het toch al een beetje de basics van OO weer. Zo hoef je gedeelde functionaliteit (methods, properties) zoals de AanUit en Rapporteer functie maar 1 keer te definieeren.
Al die basisfunctionaliteit erft de verbetere lamp automatisch.

En zo kan je natuurlijk ook de AanUit method in BeterLampje opnieuw schrijven zodat ie niet alleen aan of uit kan zijn, maar ook gedimd kan zijn.
Hmmm, dit wordt me al duidelijker dan de over bekende 'auto' en 'raceauto' klasses die ik altijd als voorbeeld zie.

Heb je geen zin om eens een tut te schrijven voor dit topic?
Sowieso, is het niet voor ons allemaal eens een goed idee om tutorials te maken. Ik kan me voorstellen dat prutsers zoals mijzelf de wat simpelere tuts schrijven, (database results over meerdere pages spreiden enzo) en de goden schrijven dan OO tuts.

Op die manier krijg je dan in php voor dummies een mooie leercurve. Want een goede tut linken we natuurlijk in de OP.
pi_45822740
Ruby on Rails en alle andere implementaties van een geautomatiseerd MVC-concept zullen bij mij nooit de voorkeur krijgen. Als er iets is wat ik haat dan is het wel code obfuscatie door generatie. Als ik ooit een performanceprobleem in een applicatie heb is het nu ontzettend gemakkelijk in mijn MVC-model om het probleem te traceren en te debuggen, terwijl bij RoR een bugje in RoR de oorzaak kan zijn. Tuurlijk kan het in PHP ook, maar bij RoR heb je er nog een extra laag bovenop.

Verder is Ruby echt een kotstaal. [/mening]
pi_45822750
Hey mensen, ff een kort vraagje regarding SQL

Ik heb een tabel waar mensen staan ingecheckt om te vertrekken met een vlucht, dit in 2006-10-30 13:30:00.000
versie. Nu wil ik een passagier zoeken die vandaag vertrekt, vandaag veranderd dus elke dag.. hoe los ik dit op? now() statement werkt niet in query analyzer of now(day)..
  FOK!-Schrikkelbaas dinsdag 30 januari 2007 @ 14:12:27 #208
1972 Swetsenegger
Egocentrische Narcist
pi_45822760
quote:
Op dinsdag 30 januari 2007 14:10 schreef keeper het volgende:

[..]

Iemand hier nog sterke ideeën over?

Of versimpeld: hoe is het mogelijk om via een script te faken dat je bent ingelogd op een site, zodat je gegevens die achter die login staan automatisch binnen kan trekken?
Nee, dat zou het wel erg onveilig maken he
Als je weet hoe de login werkt (sessie) kan je die zetten natuurlijk.
pi_45822781
quote:
Op dinsdag 30 januari 2007 14:12 schreef Swetsenegger het volgende:

[..]

Nee, dat zou het wel erg onveilig maken he
Als je weet hoe de login werkt (sessie) kan je die zetten natuurlijk.
Het kan gerust hoor, je hebt alleen wat verstand nodig van het HTTP protocol (en verder is CURL dan een goede optie).
pi_45823030
quote:
Op dinsdag 30 januari 2007 14:11 schreef Swetsenegger het volgende:

[..]

Hmmm, dit wordt me al duidelijker dan de over bekende 'auto' en 'raceauto' klasses die ik altijd als voorbeeld zie.

Heb je geen zin om eens een tut te schrijven voor dit topic?
Sowieso, is het niet voor ons allemaal eens een goed idee om tutorials te maken. Ik kan me voorstellen dat prutsers zoals mijzelf de wat simpelere tuts schrijven, (database results over meerdere pages spreiden enzo) en de goden schrijven dan OO tuts.

Op die manier krijg je dan in php voor dummies een mooie leercurve. Want een goede tut linken we natuurlijk in de OP.
Dat lijkt me wel wat. Zelf ben ik nog een enorme prutser, dus tuts schrijven lijkt me nog geen goede optie
  FOK!-Schrikkelbaas dinsdag 30 januari 2007 @ 14:27:54 #211
1972 Swetsenegger
Egocentrische Narcist
pi_45823237
quote:
Op dinsdag 30 januari 2007 14:13 schreef JeRa het volgende:

[..]

Het kan gerust hoor, je hebt alleen wat verstand nodig van het HTTP protocol (en verder is CURL dan een goede optie).
Hoezo kan het gerust als je niet weet welke sessie info ik set en controleer bij de login?
  dinsdag 30 januari 2007 @ 14:29:01 #212
18008 hornage
FOK! Movie Trivia-Prijsmeester
pi_45823276
quote:
Op dinsdag 30 januari 2007 14:12 schreef Sjoe538 het volgende:
Hey mensen, ff een kort vraagje regarding SQL

Ik heb een tabel waar mensen staan ingecheckt om te vertrekken met een vlucht, dit in 2006-10-30 13:30:00.000
versie. Nu wil ik een passagier zoeken die vandaag vertrekt, vandaag veranderd dus elke dag.. hoe los ik dit op? now() statement werkt niet in query analyzer of now(day)..
uhm? Hoezo werkt now() niet? Ik weet natuurlijk niet je db in elkaar zit maar zoiets moet wel werken:
1
2
3
SELECT Name, Flight
FROM CheckedIN
WHERE DepartDate = Now()

DepartDate is dan een datetime. Ik weet niet zeker of dit ook goed werkt als dit alleen een date is, maar lijkt me wel
Test je filmkennis! Speel mee met FOK! Movie Trivia en win prijzen!
pi_45823336
quote:
Op dinsdag 30 januari 2007 14:27 schreef Swetsenegger het volgende:

[..]

Hoezo kan het gerust als je niet weet welke sessie info ik set en controleer bij de login?
Als ik een login bij jou heb en kan inloggen, dan hoef ik (vrijwel altijd) alleen maar rekening te houden met:
- het IP-adres waarvan ik communiceer
- de HTTP-headers die ik meestuur (User-Agent, Referer, etc)

Door een beetje te testen kun je er vrij simpel achterkomen waar jij op controleert
pi_45823457
[SQL] datum / tijd functies
quote:
Op dinsdag 30 januari 2007 14:28 schreef Sjoe538 het volgende:
Hallo,

Ik zit met het volgende probleem, ik wil een passagier die is ingecheckt vergelijken met een vlucht zijn vertrektijd. Maar de query die ik heb gemaakt moet het dus voor 'vandaag' opgeven, oftewel, alle passagiers die vandaag vertrekken. Maar dit kan dus elke dag veranderen.. Hoe los ik dit op? Met day vergelijk ik alleen de dag.. dus hoe pas ik de now() functie toe?
1
2
WHERE date(vlucht.vertrektijd) = 
  day(passagier.inchecktijdstip)
  FOK!-Schrikkelbaas dinsdag 30 januari 2007 @ 14:35:01 #215
1972 Swetsenegger
Egocentrische Narcist
pi_45823485
quote:
Op dinsdag 30 januari 2007 14:30 schreef JeRa het volgende:

[..]

Als ik een login bij jou heb en kan inloggen, dan hoef ik (vrijwel altijd) alleen maar rekening te houden met:
- het IP-adres waarvan ik communiceer
- de HTTP-headers die ik meestuur (User-Agent, Referer, etc)

Door een beetje te testen kun je er vrij simpel achterkomen waar jij op controleert
Dan ga je er dus al vanuit dat je kan inloggen
pi_45823517
quote:
Op dinsdag 30 januari 2007 14:35 schreef Swetsenegger het volgende:

[..]

Dan ga je er dus al vanuit dat je kan inloggen
Ja...dat was het hele idee toch? (zie de post van keeper)
pi_45823626
quote:
Op dinsdag 30 januari 2007 14:12 schreef Sjoe538 het volgende:
Hey mensen, ff een kort vraagje regarding SQL

Ik heb een tabel waar mensen staan ingecheckt om te vertrekken met een vlucht, dit in 2006-10-30 13:30:00.000
versie. Nu wil ik een passagier zoeken die vandaag vertrekt, vandaag veranderd dus elke dag.. hoe los ik dit op? now() statement werkt niet in query analyzer of now(day)..
Is het veld dat je controleerd wel een DATETIME veld of iets in die richting?
  FOK!-Schrikkelbaas dinsdag 30 januari 2007 @ 14:39:25 #218
1972 Swetsenegger
Egocentrische Narcist
pi_45823645
quote:
Op dinsdag 30 januari 2007 14:36 schreef JeRa het volgende:

[..]

Ja...dat was het hele idee toch? (zie de post van keeper)
Daarin werd mij niet duidelijk dat hij een login had
pi_45823715
quote:
Op dinsdag 30 januari 2007 14:11 schreef Swetsenegger het volgende:
Sowieso, is het niet voor ons allemaal eens een goed idee om tutorials te maken. Ik kan me voorstellen dat prutsers zoals mijzelf de wat simpelere tuts schrijven, (database results over meerdere pages spreiden enzo) en de goden schrijven dan OO tuts.
Ik ga ff offtopic, maar puik idee (pleur het op de wiki, zo zijn er meerdere onderwerpen - die niks met dit topic te maken hebben) waar we FAQ's / HOWTO's / tutorials voor kunnen gebruiken/aanmaken.
pi_45823770
quote:
Op dinsdag 30 januari 2007 14:39 schreef Swetsenegger het volgende:

[..]

Daarin werd mij niet duidelijk dat hij een login had
Mij wel
quote:
Ik probeer een pagina op een website binnen te halen middels file_get_contents(). Gaat allemaal goed, alleen omdat dit een beveiligde pagina is (joomla-cms) krijg ik dan niet de hele inhoud van de pagina te zien, maar de mededeling "je bent niet gemachtigd, etc". Logisch, want ik ben niet ingelogd op die site.

(...)

disclaimer: het gaat om het automatisch inlezen van een grote pagina met data waar ik wel toegang tot heb via de browser, maar dus niet via een script
pi_45823856
quote:
Op dinsdag 30 januari 2007 13:59 schreef CraZaay het volgende:
Halleluja! Wij doen echt alles met Ruby on Rails, tenzij een opdrachtgever expliciet PHP of Java wil.
Doe de groeten aan Thijs als je hem ziet.
pi_45824111
quote:
Op dinsdag 30 januari 2007 14:11 schreef JeRa het volgende:
Ruby on Rails en alle andere implementaties van een geautomatiseerd MVC-concept zullen bij mij nooit de voorkeur krijgen. Als er iets is wat ik haat dan is het wel code obfuscatie door generatie. Als ik ooit een performanceprobleem in een applicatie heb is het nu ontzettend gemakkelijk in mijn MVC-model om het probleem te traceren en te debuggen, terwijl bij RoR een bugje in RoR de oorzaak kan zijn. Tuurlijk kan het in PHP ook, maar bij RoR heb je er nog een extra laag bovenop.

Verder is Ruby echt een kotstaal. [/mening]
Als er een bug in RoR code zit, wordt dat meestal al heel snel opgemerkt omdat veel mensen het gebruiken. Ik heb wel eens last gehad van een memory leak in RoR waardoor een app ontzettend traag was als ie in debug mode wordt gedraaid. Dan is die extra laag wel een nadeel.
Maar ik vind het zonde van m'n tijd om alle code zelf te schrijven als ik bijv. een attachment wil toevoegen aan een mail om maar iets te noemen of een heel MVC framework neer te mikken.

Die magic methods van Ruby zoals: Lamp.find_by_kleur('groen') vind ik alleen maar makkelijk. Scheelt mij weer gepruts met SQL.

Maar ik ga ook maar weer eens ontopic
pi_45824222
quote:
Op dinsdag 30 januari 2007 14:12 schreef Sjoe538 het volgende:
Hey mensen, ff een kort vraagje regarding SQL

Ik heb een tabel waar mensen staan ingecheckt om te vertrekken met een vlucht, dit in 2006-10-30 13:30:00.000
versie. Nu wil ik een passagier zoeken die vandaag vertrekt, vandaag veranderd dus elke dag.. hoe los ik dit op? now() statement werkt niet in query analyzer of now(day)..
pi_45824322
quote:
Op dinsdag 30 januari 2007 14:11 schreef Swetsenegger het volgende:
Heb je geen zin om eens een tut te schrijven voor dit topic?
Sowieso, is het niet voor ons allemaal eens een goed idee om tutorials te maken. Ik kan me voorstellen dat prutsers zoals mijzelf de wat simpelere tuts schrijven, (database results over meerdere pages spreiden enzo) en de goden schrijven dan OO tuts.

Op die manier krijg je dan in php voor dummies een mooie leercurve. Want een goede tut linken we natuurlijk in de OP.
Een tutorial schrijven in het Nederlands kan ik wel doen, maar ik heb zo het gevoel dat zoiets er al is.
Maar ik zou het dan graag met oefeningen uitbereiden, waarbij voor mij part alleen met pseudo-code gewerkt wordt. Een goede voorbereiding en goede eerste opzet van classes is het belangrijkst.

Een auth class maken in een tutorial kan wel aardig zijn, maar het moet iets uitdagenders zijn, en niet al te complex omdat anders niet meer te volgen is.
pi_45824631
quote:
Op dinsdag 30 januari 2007 14:57 schreef Sjoe538 het volgende:

[..]
Je wilt dus gewoon de huidige dag hebben? Volgens mij kan dat met day(currentdate()), of day(now()), afhankelijk van wat je gebruikt. Wel een tijdje geleden dat ik iets met SQL heb gedaan, dus kan er naast zitten
  FOK!-Schrikkelbaas dinsdag 30 januari 2007 @ 15:14:16 #226
1972 Swetsenegger
Egocentrische Narcist
pi_45824757
quote:
Op dinsdag 30 januari 2007 15:00 schreef smesjz het volgende:

[..]

Een tutorial schrijven in het Nederlands kan ik wel doen, maar ik heb zo het gevoel dat zoiets er al is.
Maar ik zou het dan graag met oefeningen uitbereiden, waarbij voor mij part alleen met pseudo-code gewerkt wordt. Een goede voorbereiding en goede eerste opzet van classes is het belangrijkst.

Een auth class maken in een tutorial kan wel aardig zijn, maar het moet iets uitdagenders zijn, en niet al te complex omdat anders niet meer te volgen is.
[/quote]
Ik zou het graag zien.
pi_45825685
1WHERE day(vlucht.vertrektijd) = day(passagier.inchecktijdstip) and day(now())


now is not a recognized function name

1WHERE day(vlucht.vertrektijd) = day(passagier.inchecktijdstip) and day(currentdate())


currentdate is not a .. etc.
pi_45825922
quote:
Op dinsdag 30 januari 2007 15:43 schreef Sjoe538 het volgende:

[ code verwijderd ]

now is not a recognized function name
[ code verwijderd ]

currentdate is not a .. etc.
En met day(getdate())? Weet nog dat ik hier ook nog mee heb zitten kloten
pi_45826004
1
2
3
4
5
6
7
8
SELECT passagier.passagiernummer, passagier.naam, passagier.vluchtnummer, vlucht.vertrektijd, passagier.balienummer,
passagier.inchecktijdstip, sum(bagageobject.gewicht) AS 'Totaal gewicht' FROM passagier INNER JOIN vlucht ON 
passagier.vluchtnummer = vlucht.vluchtnummer INNER JOIN bagageobject ON
bagageobject.passagiernummer = passagier.passagiernummer
WHERE day(vlucht.vertrektijd) = day(passagier.inchecktijdstip) and day(getdate())
GROUP BY passagier.passagiernummer, passagier.naam, passagier.vluchtnummer,
vlucht.vertrektijd, passagier.balienummer, passagier.inchecktijdstip
ORDER BY vlucht.vertrektijd, passagier.passagiernummer


incorrect syntax near the word GROUP.. maar staat daar wel goed toch O.o
pi_45826935
quote:
and day(getdate()) GROUP BY passagier.passagiernummer
Dat is dus niet goed
pi_45827050
Er moet nog iets achter / tussen de getdate functie?
pi_45827134
quote:
Op dinsdag 30 januari 2007 16:22 schreef Sjoe538 het volgende:
Er moet nog iets achter / tussen de getdate functie?
Na de AND moet een compleet nieuwe statement komen.
pi_45827445
1
2
3
4
5
6
WHERE day(vlucht.vertrektijd) = day(passagier.inchecktijdstip) and 
day(getdate()) = day(vlucht.vertrektijd)
GROUP BY passagier.passagiernummer, passagier.naam, passagier.vluchtnummer,
vlucht.vertrektijd, passagier.balienummer, passagier.inchecktijdstip
ORDER BY vlucht.vertrektijd, passagier.passagiernummer
 


Doet het wel, geeft alleen een datum van ergens in 2006 weer.. dus klopt nog niet..
pi_45827516
pass. nr
19
naam
Jones GJ
vluchtnummer
5315
vertrektijd
2006-10-30 13:30:00.000
balienummer
2
inchecktijdstip
2006-10-30 11:51:00.000 18.00

klopt niks van dus..
pi_45827568
quote:
Op dinsdag 30 januari 2007 16:33 schreef Sjoe538 het volgende:

[ code verwijderd ]

Doet het wel, geeft alleen een datum van ergens in 2006 weer.. dus klopt nog niet..
Je kijkt nu alleen naar de dag. Als je jaar er bij wilt moet je ook nog year(bla)=year(getdate()) er bij doen natuurlijk.
pi_45827599
quote:
Op dinsdag 30 januari 2007 16:36 schreef Aibmi het volgende:

[..]

Je kijkt nu alleen naar de dag. Als je jaar er bij wilt moet je ook nog year(bla)=year(getdate()) er bij doen natuurlijk.
zucht.. tuurlijk.. Ik kijk er vanavond wel verder na.. eerst werken.
pi_45827769
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT passagier.passagiernummer, passagier.naam, passagier.vluchtnummer, vlucht.vertrektijd, passagier.balienummer,
passagier.inchecktijdstip, sum(bagageobject.gewicht) AS 'Totaal gewicht' FROM passagier INNER JOIN vlucht ON 
passagier.vluchtnummer = vlucht.vluchtnummer INNER JOIN bagageobject ON
bagageobject.passagiernummer = passagier.passagiernummer
WHERE day(vlucht.vertrektijd) = day(passagier.inchecktijdstip) and 
month(vlucht.vertrektijd) = month(passagier.inchecktijdstip) and 
year(vlucht.vertrektijd) = year(passagier.inchecktijdstip) and 
day(getdate()) = day(vlucht.vertrektijd) and
month(getdate()) = month(vlucht.vertrektijd) and
year(getdate()) = year(vlucht.vertrektijd) 
GROUP BY passagier.passagiernummer, passagier.naam, passagier.vluchtnummer,
vlucht.vertrektijd, passagier.balienummer, passagier.inchecktijdstip
ORDER BY vlucht.vertrektijd, passagier.passagiernummer


yay, kon t niet laten.

En nu ben ik echt weg
pi_45828824
Is het mogelijk om via een query de positie van een bepaald items weer te geven. Stel ik heb een tabel met reacties, ik selecteer die reactie. Kan ik dan ook opvragen dat een bepaalde reactie bijvoorbeeld reactie 45 van de 70 is? Hoe doe ik dit?
pi_45829564
LIMIT 45, 15 = vanaf 45 t/m 60..
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_45831790
Kleine vraag.. Stel ik heb het volgende.

Ditiseenheleleukevraag,alleenzittenallewoordenaanelkaar.

Dit is een stukje text die een layout naar de mallemoer kan helpen, heeft iemand een idee hoe ik dit het beste kan uitvullen zodat de text onder elkaar komt ipv de layout verneukt?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')