\ voor " voorkomen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henk

Henk

25/03/2008 11:54:00
Quote Anchor link
Hallo

Ik ben bezig met een CMS. Maar als je een pagina van de editor uitvoert, komt er op de uiteindelijke pagina een backslash voor een " te staan. Hoe kan ik dit voorkomen?

Alvast dank.
 
PHP hulp

PHP hulp

11/01/2025 20:56:38
 
Gerben Jacobs

Gerben Jacobs

25/03/2008 11:59:00
Quote Anchor link
Correct antwoord: Door 't goed in te voeren in de SQL database.

Snel antwoord:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php stripslashes(); ?>
 
Crispijn -

Crispijn -

25/03/2008 12:00:00
Quote Anchor link
bij de output van je string de functie stripslashes() er overheen halen

Edit:
@Gerben: wat is dan 'goed'?
Gewijzigd op 01/01/1970 01:00:00 door Crispijn -
 
Gerben Jacobs

Gerben Jacobs

25/03/2008 12:03:00
Quote Anchor link
Mysql_real_escape_string bijv. Of sowieso als je PDO gebruikt.
 
Frank -

Frank -

25/03/2008 12:03:00
Quote Anchor link
Correct antwoord: Door er geen slashes in te zetten.

Wat je er niet in zet, hoef je er ook niet uit te halen! Zet magic_quotes uit (php.ini of via .htaccess) en klaar ben je. Wanneer je de boel in een database gaat wegschrijven, zul je wel veilig moeten escapen, anders krijg je last van SQL-injection. Prepared statements (o.a. beschikbaar voor PDO, PostgreSQL en MySQLi) zijn de veiligste oplossing.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Henk

Henk

25/03/2008 18:23:00
Quote Anchor link
Sorry voor de onduidelijkheid. Ik bedoel eigenlijk geen CMS, maar een file manager. Dit is de code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
if(isset($_POST['submit'])) {
  $r_handle = fopen($s_filename, "w+");
  if(!fwrite($r_handle, $_POST['inhoud'])) {
    echo "Er ging iets fout. Mogelijk is dit bestand niet beschrijfbaar. Foutcode: Bewerken-01.";
    exit;
  } else {
?>

Succesvol opgeslagen. <a href="welkom.php">Klik hier</a> om door te gaan.


Hoe kan ik die Stripslashes hier toevoegen?

Bedankt voor jullie vorige reacties. Jullie hebben me sowieso al goed geholpen.

Henk
 
Henk

Henk

26/03/2008 09:53:00
Quote Anchor link
Ik bedoel dus dat er geen backslashes komen voor een stuk HTML code. Wie weet het?
 
Joren de Wit

Joren de Wit

26/03/2008 10:12:00
Quote Anchor link
Henk, vraag je eens af waarom die slashes er in eerste instantie inkomen, dat moet je namelijk zien te voorkomen.

Ik vermoed dat magic_quotes_gpc aan staat waardoor automatisch alle POST variabele geescaped worden. Dit is zeer onwenselijk aangezien je zelf wel kunt bepalen wanneer je iets wilt escapen. Schakel deze instelling, zoals Frank ook al zegt, dus uit in je php.ini of dmv een .htaccess bestandje met de volgende regel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
php_flag magic_quotes_gpc off

De functie stripslashes() heb je eigenlijk nooit nodig, je pakt het probleem immers gewoon bij de bron aan...
 
- SanThe -

- SanThe -

26/03/2008 10:24:00
Quote Anchor link
if(!fwrite($r_handle, stripslashes($_POST['inhoud']))) {
 
Henk

Henk

26/03/2008 10:37:00
Quote Anchor link
Bedankt, Blanche. Die titel 'foutafhandeling' past goed bij je! Het is opgelost door de tip die je gaf. En SanThe, ook bedankt. Weer iets geleerd.
Gewijzigd op 01/01/1970 01:00:00 door Henk
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.