Титла: WML и специални символи Публикувано от: rat в Nov 03, 2005, 10:35 Здравейте,
Имам следната ситуация : Имам проста логин форма на WML с потребителско име и парола. Формичката се събмитва към друг скрипт :
Проблема е че ако в името или паролата се съдържа амперсант(&) , в другия скрипт получавам данните без този символ.Опитах да заместя & с & ... без успех . Опитах и с urlencode() - пак нищо (даже по-зле щото гърми wml-to). Идеи някакви ? ![]() Титла: WML и специални символи Публикувано от: VladSun в Nov 03, 2005, 10:54 Не ти давам конкретно решение, но искам да ти кажа, че разрешаването/използването на специални символи в такива полета не е добре по отношение на сигурността - просто укажи, че паролата/потребителя може да е съставен само от стандартните символи (_,-,0-9, az, AZ)
Титла: WML и специални символи Публикувано от: Hapkoc в Nov 03, 2005, 12:25 VladSun, кое точно по отношение на сигурността обуславя специалните символи като неподходящи за използване в парола?
Титла: WML и специални символи Публикувано от: CaBA в Nov 03, 2005, 13:58
Колкото до проблема - в твоята постановка (която е зле) трябва да замениш всеки амперсанд в паролата с
Титла: WML и специални символи Публикувано от: rat в Nov 03, 2005, 15:08 CaBA :
1.Както съм посочил в поста , вече опитах с този подход. 2.Кое и е зле на постановката ? По принцип това е само тестов скрипт.Единственото което е кофти е метода. Мога да го сложа да e POST а не GET. Титла: WML и специални символи Публикувано от: CaBA в Nov 03, 2005, 17:21 Отхвърляне на отговорност: не съм специалист във WAP/WML, само хвърлих едно око на спецификацията.
Първо да обясня как се изпращат заявките в HTTP/HTML модела (поне това ми се струва, че разбирам), за да имаме база за сравнение. Нека разгледаме следната форма
която потребителят е попълнил име bay.blagoy и парола sof&stroy. Когато потребителя натисне бутона "гази!" Браузърът трябва да изпрати подобна на следната HTTP заявка:
1) браузърът не кодира правилно заявката 2) сървърът не декодира правилно заявката и предава странни параметри на програмата за изпълнение За да разбереш къде е заровено кучето ти предлагам първо да разгледаш изходящия трафик от браузъра (примерно със снифер или в access лога на сървъра, ако има такъв). Ако той е кодиран според изискванията на RFC2396, както настоява спецификацията на WML, виж кой отговоря за обработката на заявките и му издърпай ушите. Успех! Титла: WML и специални символи Публикувано от: rat в Nov 03, 2005, 18:35 Мерси . Мисля че проблема в точно в броузера. Това е един WAP емулатор, който явно не кодира правилно заявката.В аксес лога виждам следното:
Както се вижда не е ури кодирал последния символ който е част от паролата. Проблема е че не знам как да кодирам ръчно стринга от паролата или юзърнейма при положение че променливите в WML се достъпват по този начин :
Тоест нямам достъп до тази променлива в PHP... Остава ми само да се надявам че нормалните WAP броузъри кодират правилно. Титла: WML и специални символи Публикувано от: CaBA в Nov 03, 2005, 19:32 Щом WAP емулатора е виновен, сменяй го! Просто търсене във freshmeat дава този - http://freshmeat.net/projects/mobilizer/ , но съм сигурен, че има още.
|