You are not logged in.

  • Login

Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, March 18th 2008, 8:46pm

Problem mit htmlentities()

Moin, habe ein komsiches Problem mit der Funktion htmlentities()

Habe folgenden Fehler:
Warning: htmlentities() expects parameter 2 to be long, string given in Y:\xampp\htdocs\testproject\functions.php on line 16

So sieht die besagte Funktion aus:

PHP Quellcode

1
2
3
4
function SaveString($string)
{
	return htmlentities(strip_tags($string), ENT_Quotes);
}


Und der Aufruf wie folgt:

PHP Quellcode

1
$_SESSION["user_name"]  = SaveString($row->Name);


Kanns nicht ganz nachvollziehen.

Wäre klasse, wenn mir jemand helfen kann.

2

Tuesday, March 18th 2008, 9:05pm

Auf Groß- und Kleinschreibung achten:

PHP Quellcode

1
2
3
4
function SaveString($string)
{
return htmlentities(strip_tags($string), ENT_QUOTES);
}

3

Tuesday, March 18th 2008, 9:29pm

Oh, vielen Dank! :D

4

Tuesday, March 18th 2008, 11:58pm

Darf man fragen wieso die Funktion SaveString() heißt und wofür du sie einstetzt?

5

Wednesday, March 19th 2008, 2:20am

Ehrlich gesagt, frage ich mich auch immoment wofür du die Funktion einsetzt?

6

Wednesday, March 19th 2008, 1:52pm

Um Benutzereingaben zu Filtern, die zuvor in der Datenbank gespeichert wurden, bevor ich diese ausgebe.
Ziel ist es XSS-Angriffen so entgegen zu wirken.

Warum sie so heißt is ne gute Frage. Mir ist nichts besseres eingefallen, sehr gut möglich, dass ein anderer Name besser geeignet ist.

7

Wednesday, March 19th 2008, 3:34pm

In dem Zusammenhang würde "SafeString" besser passen :P

8

Wednesday, March 19th 2008, 5:35pm

Wieso lässt du die Strings nicht direkt gesichert in die Datenbank eintragen?
Das ist doch sinn und zweck der sache.. zu verhindern, dass die Datenbank angreifbar ist?

9

Thursday, March 20th 2008, 4:50pm

In dem Zusammenhang würde "SafeString" besser passen
Ja, hast Recht. :)

Quoted

Wieso lässt du die Strings nicht direkt gesichert in die Datenbank eintragen?
Das ist doch sinn und zweck der sache.. zu verhindern, dass die Datenbank angreifbar ist?
Nein, bevor ich Benutzereingaben an die Datenbank sende werden diese via mysql_real_escape_string() bearbeitet.
Da ich nicht wieß, ob ich die Daten irgendwann noch mal in ihrer uhrsprünglichen Form brauche, filtere ich diese erst vor der Ausgabe.


Glaube nicht, dass dies große Nachteile mit sich bringt.



Gruß: elzumo

10

Friday, March 21st 2008, 3:37pm

Nö aus Sicherheitsaspekten nicht, eher aus Performancegründen (einmal filtern vs. jedesmal filtern), sollte aber auch nicht so wild sein

Similar threads

Social bookmarks