GET Variable mit Leerzeichen ?

Alles, was PHP betrifft, kann hier besprochen werden.

GET Variable mit Leerzeichen ?

Postby ChristianDannenberg » 29. March 2010 08:50

Guten Morgen zusammen,

nach dem Umstieg auf eine neue PHP Version (4.4 auf 5.3.1) werden bei mir leider nicht alle GET Varieblen richtig übergeben. Ich weis, das ich dies beim Thema Sicherheit ändern sollte. Momentan liegt mir aber leider nicht die zeit vor. Das Problem besteht darin, das bei einer Übergabe von ?=VarA=1&VarB= &VarC=1 alles nach dem Leerzeichen abgeschnitten wird, somit wird Var C ignoriert. Bei der alten PHP Version gab es hierbei keine Probleme.
Habe schon versucht das ganze abzuschreiben, aber auch bei VarB=&varC wird C ignoriert. Die Übergabeparamter erstelle ich über JavaSkript.

Vieleicht kenntjemand eine Lösung.

Vielen Dank im Vorraus.

MFG

C.Dannenberg
ChristianDannenberg
 
Posts: 7
Joined: 29. March 2010 08:00

Re: GET Variable mit Leerzeichen ?

Postby Altrea » 29. March 2010 09:32

Hi

ChristianDannenberg wrote:Ich weis, das ich dies beim Thema Sicherheit ändern sollte.

Nichtnur beim Thema Sicherheit, sondern auch um deine Scripte zukunftssicher und plattformunabhängig lauffähig zu machen

ChristianDannenberg wrote:Momentan liegt mir aber leider nicht die zeit vor.

Das ist immer eine beliebte Ausrede für unliebsame Aufgaben. Man kann seinen Problemen aber nicht dauerhaft davonlaufen.

ChristianDannenberg wrote:Das Problem besteht darin, das bei einer Übergabe von ?=VarA=1&VarB= &VarC=1 alles nach dem Leerzeichen abgeschnitten wird, somit wird Var C ignoriert.

Was absolut verständlich und korrekt ist. Leerzeichen haben uncodiert in einer URL nichts zu suchen, ohne wenn und aber.

ChristianDannenberg wrote:Bei der alten PHP Version gab es hierbei keine Probleme.

Deshalb gibt es jetzt PHP5 und nichtmehr PHP4. Die Entwicklung schreitet voran, alles wird besser :)

ChristianDannenberg wrote:Vieleicht kenntjemand eine Lösung.

bei php gibt es für das Maskieren von nichterlaubten Zeichen in einer url die Funktion urlencode(). Du kannst das Leerzeichen auch von Hand ersetzen (%20 = Leerzeichen).
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 6830
Joined: 17. August 2009 13:05
XAMPP Version: 5.5.19
Operating System: Windows 10 Pro x64

Re: GET Variable mit Leerzeichen ?

Postby ChristianDannenberg » 29. March 2010 09:46

Ja die Zeit ist keine Entschuldigung :)

Jep da werd ich mal dran gehen.

Ich werde es mal mit %20 und urlencode() versuchen!

besten dank
ChristianDannenberg
 
Posts: 7
Joined: 29. March 2010 08:00

Re: GET Variable mit Leerzeichen ?

Postby Nobbie » 29. March 2010 12:07

ChristianDannenberg wrote:Ich werde es mal mit %20 und urlencode() versuchen!


Wie grausam, das ist doch wieder nur die halbe Lösung. Leerzeichen haben in Bezeichnern nichts verloren, und nur weil es eine Umgehungslösung gibt, kann man das doch nicht ernsthaft weiterbetreiben.

Solche Dinge entwickeln meistens eine beachtliche Eigendynamik und irgendwann kommt man an einen Punkt, wo es wirklich nicht mehr weiter geht. Nachher sollen diese Leerzeichen auch in die Spaltennamen der MySQL Tabelle und weil MySQL das "kann", wird es so gemacht. Und irgendwann soll das Projekt dann auf Oracle oder eine andere ANSI SQL Implementierung umgestellt werden - und dann ist der Aufwand auf einmal riesengroß, diese fehlerhafte Design zu korrigieren.

Mit anderen Worten: wenn Du Dir jetzt sowieso die Mühe machst und das Design änderst, dann ändere es so, dass es nicht irgendwann wieder geändert werden muss. Und niemand kann mir erzählen, dass es technisch notwendig ist, Leerstellen in Bezeichner zulassen zu müssen.
Nobbie
 
Posts: 7022
Joined: 09. March 2008 13:04

Re: GET Variable mit Leerzeichen ?

Postby ChristianDannenberg » 29. March 2010 15:05

Ich denke ich habe verstanden. Werd nun alles auf Post varianten ändern. Danke aber für die Ratschläge.
ChristianDannenberg
 
Posts: 7
Joined: 29. March 2010 08:00


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests