abonnement Unibet Coolblue Bitvavo
  dinsdag 11 maart 2008 @ 08:48:22 #276
12880 CraZaay
prettig gestoord
pi_57300055
quote:
Op dinsdag 11 maart 2008 00:29 schreef saban het volgende:

Waarom doe je geen include 'file.php' maar ('file.php') ?
Omdat 'ie dat overzichtelijker vindt denk ik? In de meeste coding standards is het gangbaar om haakjes te gebruiken voor functies.
pi_57300409
quote:
Op maandag 10 maart 2008 23:43 schreef droomkoningin het volgende:
ik heb een contactformulier, het draait op meerdere websites zonder problemen...
nu heb ik het geplaatst op www.mijndomeinnaam.nl bij een nieuwe hoster en het werkt niet meer zoals het hoort

als ik de ontvanger instel als bijv: info@mijndomeinnaam.nl dan wordt het formulier netjes verstuurd naar dit adres.
maar als ik de ontvanger instel als: info@anderedomeinnaam.nl dan komt de mail niet aan... ik krijg ook geen foutmelding

als ik hetzelfde formulier gebruik op een website bij een andere hoster werkt het prima, dus met het script zelf zal niks mis zijn.

heeft iemand een idee waar dit aan kan liggen? van de helpdesk van de nieuwe hoster ben ik tot nu toe nog niet wijzer geworden helaas
Heb je geen andere smtp host die je kan gebruiken? Misschien eentje van je hoster? Je gebruikt nu waarschijnlijk localhost en die staat blijkbaar ingesteld dat die geen mail voor jou naar buiten relay't.
pi_57300627
quote:
Op dinsdag 11 maart 2008 08:45 schreef CraZaay het volgende:

[..]

Dan zou ik toch voor de optie van Light gaan ipv deze gevaarlijke methode. Een bezoeker kan zo dus ieder .php bestand includen, zowel op het file system als remote.
Er zijn meer opties natuurlijk, en veilig combineren kan ook.
1
2
3
4
5
6
7
8
9
<?php
$veilig 
= array('home''personalTwee''uniRelatedEen''uniRelatedTwee');
$pagina = (!empty($_GET['pagina'])) ? $_GET['pagina'] : 'home';
if(
in_array($pagina$veilig)) {
    include 
$pagina.'.php';
} else {
    include 
'home.php';
}
?>
  dinsdag 11 maart 2008 @ 11:28:48 #279
12880 CraZaay
prettig gestoord
pi_57302772
quote:
Op dinsdag 11 maart 2008 09:32 schreef Light het volgende:

[..]

Er zijn meer opties natuurlijk, en veilig combineren kan ook.
Daar zeg ik ook niets van, ik zei alleen dat het ene codevoorbeeld wat gewoon include wat een user wil onveilig is en niet op die manier klakkeloos overgenomen moet worden.
pi_57304337
quote:
Op dinsdag 11 maart 2008 11:28 schreef CraZaay het volgende:

[..]

Daar zeg ik ook niets van, ik zei alleen dat het ene codevoorbeeld wat gewoon include wat een user wil onveilig is en niet op die manier klakkeloos overgenomen moet worden.
Dan moeten users eerst weten wat de namen en paden zijn van de php bestanden, daarbuiten gebruik ik dit zelf ook maar zet ik er eerst een directory voor waarin mijn php bestanden staan, die directory weet de user niet en krijgen ze ook niet te weten en van die directory kunnen ze tevens geen index opvragen.

Overigens denk ik dat degene die dit vroeg een 'dummy' is op het gebied van php etc. en zal het dus écht niet veel uitmaken voor wat betreft security op zijn website
pi_57304545
quote:
Op dinsdag 11 maart 2008 12:50 schreef Thomass het volgende:

Overigens denk ik dat degene die dit vroeg een 'dummy' is op het gebied van php etc. en zal het dus écht niet veel uitmaken voor wat betreft security op zijn website
Ook voor dummies is security belangrijk. Security is niet een leuke optie voor geavanceerde programmeurs, maar een vereiste voor alle programmeurs. Op het moment dat je publiekelijk toegankelijke webapplicaties maakt moeten die veilig zijn, net zoals je een veilige auto moet hebben op het moment dat je je op de snelweg begeeft.

En hoe eerder je dat leert, hoe beter. Een belangrijke grondregel: alle userinput is *per definitie nooit te vertrouwen*.
  dinsdag 11 maart 2008 @ 13:30:18 #282
12880 CraZaay
prettig gestoord
pi_57305055
quote:
Op dinsdag 11 maart 2008 12:50 schreef Thomass het volgende:

Dan moeten users eerst weten wat de namen en paden zijn van de php bestanden, daarbuiten gebruik ik dit zelf ook maar zet ik er eerst een directory voor waarin mijn php bestanden staan, die directory weet de user niet en krijgen ze ook niet te weten en van die directory kunnen ze tevens geen index opvragen.
"Security through obscurity" is geen security. Jij zet er wellicht een dir voor, maar je voorbeeld zou prima gebruikt kunnen worden om een bestand op een externe server te includen, etc. Dat wil je liever niet ivm Cross Site Scripting bijvoorbeeld.

Ik kan dan op mijn site wat HTML plempen, zorgen dat een user naar een bepaalde URL gaat waar ik die HTML include op jouw manier, vervolgens het JS cookie uitlezen en met een form posten naar mijn site. En da's slechts één mogelijke toepassing
pi_57305553
Ik zit met een probleempje. Ik ben bezig met een blog-pagina waar op de 'frontpage' het begin van het blogitem weergegeven wordt (dus bijv. max 100 karakters) en waarbij het hele bericht te lezen is via een link 'Lees verder', die aan het einde van de 100 karakters wordt weergegeven.

Nu heb ik het voor elkaar om dus de gehele tekst te strippen op 100 karakters en na honderd karakters de link 'Lees verder' neer te zetten. Maar daarbij worden dus woorden in het midden afgekapt, wat erg lelijk is.

Hoe kan ik er voor zorgen dat de string afgekapt wordt op de laatste spatie voor de max van 100 karakters en die vervangen woord door drie puntjes, zodat er altijd hele woorden worden weergegeven?
  dinsdag 11 maart 2008 @ 14:09:16 #284
62215 qu63
..de tijd drinkt..
pi_57305811
quote:
Op dinsdag 11 maart 2008 13:55 schreef Tarabass het volgende:
Ik zit met een probleempje. Ik ben bezig met een blog-pagina waar op de 'frontpage' het begin van het blogitem weergegeven wordt (dus bijv. max 100 karakters) en waarbij het hele bericht te lezen is via een link 'Lees verder', die aan het einde van de 100 karakters wordt weergegeven.

Nu heb ik het voor elkaar om dus de gehele tekst te strippen op 100 karakters en na honderd karakters de link 'Lees verder' neer te zetten. Maar daarbij worden dus woorden in het midden afgekapt, wat erg lelijk is.

Hoe kan ik er voor zorgen dat de string afgekapt wordt op de laatste spatie voor de max van 100 karakters en die vervangen woord door drie puntjes, zodat er altijd hele woorden worden weergegeven?
$bericht = stripslashes($row['Inhoud1'])." ".stripslashes($row['Inhoud2'])." ".stripslashes($row['Inhoud3']);
$bericht = strip_tags($bericht);
$excerpt = preg_replace('#^((\w+\W*){0,15}).*?$#s', '\1', $bericht);
echo " <td class=\"ber_\">".$excerpt."... <a href=\"message.php?id=".$row['ID']."\">Lees verder!</a></td>\n";

Zo heb ik het in mijn geval gedaan
eerste 15 woorden dus
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_57306140
quote:
Op dinsdag 11 maart 2008 13:55 schreef Tarabass het volgende:
Ik zit met een probleempje. Ik ben bezig met een blog-pagina waar op de 'frontpage' het begin van het blogitem weergegeven wordt (dus bijv. max 100 karakters) en waarbij het hele bericht te lezen is via een link 'Lees verder', die aan het einde van de 100 karakters wordt weergegeven.

Nu heb ik het voor elkaar om dus de gehele tekst te strippen op 100 karakters en na honderd karakters de link 'Lees verder' neer te zetten. Maar daarbij worden dus woorden in het midden afgekapt, wat erg lelijk is.

Hoe kan ik er voor zorgen dat de string afgekapt wordt op de laatste spatie voor de max van 100 karakters en die vervangen woord door drie puntjes, zodat er altijd hele woorden worden weergegeven?
volgens mij kun je hier wel wat mee: http://www.w3schools.com/php/func_string_strrpos.asp
Als je die vanaf positie 100 laat zoeken naar een spatie, geeft 'ie de positie waar je je bericht af moet kappen.
  dinsdag 11 maart 2008 @ 15:06:24 #286
12880 CraZaay
prettig gestoord
pi_57306814
quote:
Op dinsdag 11 maart 2008 14:09 schreef qu63 het volgende:

Zo heb ik het in mijn geval gedaan
eerste 15 woorden dus
En hoe zorg je ervoor dat die 15 woorden geen 300 karakters bevatten?
  dinsdag 11 maart 2008 @ 15:17:54 #287
62215 qu63
..de tijd drinkt..
pi_57307025
quote:
Op dinsdag 11 maart 2008 15:06 schreef CraZaay het volgende:

[..]

En hoe zorg je ervoor dat die 15 woorden geen 300 karakters bevatten?
Ik tik(te) de berichten zelf
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_57307150
quote:
Op dinsdag 11 maart 2008 13:30 schreef CraZaay het volgende:

[..]

"Security through obscurity" is geen security. Jij zet er wellicht een dir voor, maar je voorbeeld zou prima gebruikt kunnen worden om een bestand op een externe server te includen, etc. Dat wil je liever niet ivm Cross Site Scripting bijvoorbeeld.

Ik kan dan op mijn site wat HTML plempen, zorgen dat een user naar een bepaalde URL gaat waar ik die HTML include op jouw manier, vervolgens het JS cookie uitlezen en met een form posten naar mijn site. En da's slechts één mogelijke toepassing :)
Hoe dan in dit voorbeeld:
1
2
3
4
5
6
7
8
9
10
<?php
if (isset($_GET['p'])
    
$page $_GET['p'];
else 
$page 'home';

$path 'subpages/'.$page.'.php';
if (
file_exists($path))
    include 
$path;
else include 
'subpages/home.php';
?>
  dinsdag 11 maart 2008 @ 15:56:51 #289
12880 CraZaay
prettig gestoord
pi_57307751
Da's wel ff iets anders dan je eerdere codevoorbeeld he Maar ook hier zou je als je het pad weet met subpages/../../../bla.php in principe nog ver kunnen komen. Vandaar dat het mijn voorkeur zou hebben om gewoon een lijst bij te houden van paginanamen die okay zijn
pi_57307844
quote:
Op dinsdag 11 maart 2008 15:25 schreef Thomass het volgende:

[..]

Hoe dan in dit voorbeeld:
[ code verwijderd ]
Dan komt er zometeen een slimmerik die script.php?p=../../../../andere/map/geheimscript.php opvraagt. Of stel je eens voor dat het script zelf op deze manier wordt geinclude... ik weet eigenlijk niet hoe php hier mee omgaat maar het kan best dat dit je server (tijdelijk) op zijn bek trekt.

Je kan om dit te voorkomen beter ook checken op bijv dat er alleen letters en cijfers in de bestandsnaam mogen zitten (bijv met een regular expression). Zo niet, fallback naar "home".
pi_57307855
quote:
Op dinsdag 11 maart 2008 15:56 schreef CraZaay het volgende:
Da's wel ff iets anders dan je eerdere codevoorbeeld he Maar ook hier zou je als je het pad weet met subpages/../../../bla.php in principe nog ver kunnen komen. Vandaar dat het mijn voorkeur zou hebben om gewoon een lijst bij te houden van paginanamen die okay zijn
Mja ok, op deze manier doe ik het (ongeveer), sowieso kun je volgens mij geen externe dingen includen en al helemaal niks buiten public_html (of heb ik het fout hier?), en wat er aan php geinclude kan worden kunnen ze ook op de normale manier bij, door het pad in te typen in de url balk enzo.. Maargoed wellicht heb je gelijk (tis alleen zoveel gedoe als je nieuwe paginas maakt )
pi_57308622
quote:
Op dinsdag 11 maart 2008 14:09 schreef qu63 het volgende:

[..]

$bericht = stripslashes($row['Inhoud1'])." ".stripslashes($row['Inhoud2'])." ".stripslashes($row['Inhoud3']);
$bericht = strip_tags($bericht);
$excerpt = preg_replace('#^((\w+\W*){0,15}).*?$#s', '\1', $bericht);
echo " <td class=\"ber_\">".$excerpt."... <a href=\"message.php?id=".$row['ID']."\">Lees verder!</a></td>\n";

Zo heb ik het in mijn geval gedaan :)
eerste 15 woorden dus
Bedankt voor je input, maar hier heb ik weinig aan. Bovendien vind ik je code nogal langdradig, en zou je misschien zoiets moeten proberen, en dan met een countertje of whatever als $no == 15 is:
1
2
3
4
5
6
7
<?php
function count_words($str
 {
 
$no count(explode(" ",$str));
 return 
$no;
 }
?>

Wat natuurlijk gewoon meedenken is want ik ben ook maar een naab ;)
  dinsdag 11 maart 2008 @ 16:53:40 #293
12880 CraZaay
prettig gestoord
pi_57308823
quote:
Op dinsdag 11 maart 2008 16:02 schreef Thomass het volgende:

Mja ok, op deze manier doe ik het (ongeveer), sowieso kun je volgens mij geen externe dingen includen en al helemaal niks buiten public_html (of heb ik het fout hier?)
Ja, daar ga je redelijk de mist in

PHP kan gewoon overal komen waar je rechten hebt op het filesystem, dus afhankelijk van de server config kun je meestal ook hoger komen dan public_html. Daarnaast kun je met include ook gewoon pagina's laden van http://www.example.com/ bijvoorbeeld. Zoals ik al eerder zei kun je zo dus exploits krijgen, omdat je als je direct naar dat externe adres gaat niet met Javascript op jouwdomein.nl kunt komen, maar als je de JS include en draait op jouwdomein.nl dus wel
pi_57308958
Als je lui bent: Je kunt ook alle files in de directory waar het draaiende .PHP bestand staat scannen, en enkel die toelaten. Met bijvoorbeeld in_array of array_key_exists.
pi_57309253
quote:
Op dinsdag 11 maart 2008 14:26 schreef mcDavid het volgende:

[..]

volgens mij kun je hier wel wat mee: http://www.w3schools.com/php/func_string_strrpos.asp
Als je die vanaf positie 100 laat zoeken naar een spatie, geeft 'ie de positie waar je je bericht af moet kappen.
Bedankt voor je input. Ik heb even een snippet gemaakt, als het nog beter of korter kan hoor ik het graag natuurlijk. Ik zal de regel even met jullie delen:
1
2
3
<?php
echo $bericht substr($bericht substr($bericht,0,100),0,substr(strrpos($bericht," "),0)) . "... <a href=''>Lees verder</a>";
?>


  dinsdag 11 maart 2008 @ 17:28:32 #296
12880 CraZaay
prettig gestoord
pi_57309519
Niet getest, maar zou volgens mij ook moeten werken (jouw code snap ik niet eens, zoiets kun je echt beter over meerdere vars verspreiden als je over een maand nog wilt weten wat het deed).

1
2
3
<?php
$bericht 
substr($bericht0strpos($bericht' '100)-1) . '<a href="#">Lees verder</a>';
?>


Zoek de eerste spatie na 100 karakters en gebruik de positie daarvan -1 (anders krijg je een string incl. de spatie) als length binnen substr().
pi_57325217
Ik heb een aantal vragen mbt de taal instellen op een website.

Als ik in php de headers overschrijf, moet ik dan Accept-language hebben of Content-language? De een is een respons en de ander een request header, maar vanuit waaruit bekeken dan? Doet de bezoeker van de site een aanvraag en is de php pagina die terug wordt gestuurd een respons?

En verder heb ik de taal van de website ook nog in de meta tag gedefinieerd, moet het nog ergens anders?

Doel van dit alles is dat ik een engels en nederlands gedeelte op mijn website heb ( www.site.nl/nl/ en www.site.nl/en/ ) en ik wil dat o.a. google het zo goed mogelijk indexeert.

Nog meer tips zijn welkom!
-
pi_57326440
"Accept-language" is de bezoeker die zegt zo van ... "Hey! Doe mij maar een Nederlandse pagina!", en "Content-language" is de server die een pagina afgeeft zo van "Hey! Dit is een Nederlandse pagina!".

De taal in de meta-tag is makkelijk voor Google, evenals de taal in de HTML tag als je XHTML gebruikt. Maar ook daar kan de client gebruik van maken.
  woensdag 12 maart 2008 @ 13:30:34 #299
12880 CraZaay
prettig gestoord
pi_57326533
De accept-language is dus de request, en de content-language de respons
pi_57326716
Okee bedankt, dan moet ik dus de content-language instellen.
Ik gebruik geen xhtml, dus dan moet ik even kijken waar het lang= attribuut allemaal gebruikt mag worden van html4.01.

Is het overigens niet zo dat de meta tag in principe overbodig wordt, wanneer je het al in de header vermeld? Want het is een http-equiv. Of geeft google meer prioriteit aan de meta dan aan de header? (in dit geval dan)
-
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')