PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (27): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Найдено сообщений: 391
vlados
Отправлено: 15 Февраля, 2012 - 22:03:12 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
IllusionMH пишет: vlados, думаю, что mysql_real_escape_string - явно лишнее, т.к. данные напрямую нигде не используются, а только строго сравниваются со строкой.
Как многие говорят, что бы сломать, сначала научись строить, со мной другая ситуация, сначала научился искать sql, php инъекции, уязвимости, а потом только строить.
Вроде сделал я, сам. Все работает всем спасибо.
Но без дурака, жизнь скушна. Поэтому у меня появилась еще одна проблема..
Есть панелька в ней ссылки на функцию:
Спойлер (Отобразить ) CODE (
htmlphp ):
скопировать код в буфер обмена
< li>< a href= "" onclick= "getSites('1','2');" >< span class= "icon" data- icon= "R" ></ span> Все</ a></ li>
< li>< a href= "" onclick= "getSites('1','0');" >< span class= "icon" data- icon= "!" ></ span> Новые</ a></ li>
< li>< a href= "" onclick= "getSites('1','1');" >< span class= "icon" data- icon= "T" ></ span> Старые</ a></ li>
Функция должна получить значение (первое, второе), а потом создать пост запрос и получить ответ, а ответ вывести в пустом диве:
Я немного подумал и пришел к странной функции, которая естественно это не работает, что тут нужно написать, чтобы все работало?
Файл который импортируется имеет такую структуру(по сути, это простая таблица):
Спойлер (Отобразить ) CODE (
htmlphp ):
скопировать код в буфер обмена
< table cellspacing= '0' cellpadding= '0' class= 'striped' >
< thead>< tr>
< th> Item1</ th>
< th> Item2</ th>
< th> Item3</ th>
</ tr></ thead>
< tbody>< tr>
< td> Item1</ td>
< td> Item2</ td>
< td> Item3</ td>
</ tr>< tr>
< td> Item1</ td>
< td> Item2</ td>
< td> Item3</ td>
</ tr>< tr>
< td> Item1</ td>
< td> Item2</ td>
< td> Item3</ td>
</ tr>< tr>
< td> Item1</ td>
< td> Item2</ td>
< td> Item3</ td>
</ tr></ tbody>
</ table>
Цитата:
OrmaJever, тут я уже сам интересуюсь, зачем использовать mysql_real_escape_string, если мы уверены что это строка === "true"?
JavaScript выполняется на стороне клиента, поэтому его можно подменить обычным скриптом например на моем любимом питоне. Там можно передать некие пакости в виде "-1+union+select+1,2,3,4,5,6--"(это скуля). Ставлю я такую конструкцию везде, где работаю с БД, ибо лучше один раз перестраховаться, чем потом [нужное вставить].
vlados
Отправлено: 15 Февраля, 2012 - 21:08:24 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
Ну если делать так как вы написали, то все равно в бд записываются "on"-
(Добавление)
Спойлер (Отобразить ) CODE (
htmlphp ):
скопировать код в буфер обмена
function validate() {
var err = false;
for (i = 1; i <= 8 ; i++ ) {
if ( ge( "text" + i) . value == "" ) {
ge( "text" + i) . className = 'error' ;
err = true ;
} else {
ge( "text" + i) . className = '' ;
}
}
if ( err == true ) { return false ; }
$. post( "core/sendfile.php" , {
mod: ge( "mod" ) . value,
Url: ge( "text1" ) . value,
YO: ge( "text2" ) . value,
CMS: ge( "text3" ) . value,
YaG: ge( "text4" ) . value,
NumberPeople: ge( "text5" ) . value,
Price: ge( "text6" ) . value,
GoGetLinks: ge( "check1" ) . checked,
GoGoodLinks: ge( "check2" ) . checked,
Trustlinks: ge( "check3" ) . checked,
MiraLinks: ge( "check4" ) . checked,
Rotapost: ge( "check5" ) . checked,
prSape: ge( "check6" ) . checked,
Linkfeed: ge( "check7" ) . checked,
AnotherInfo: ge( "textarea1" ) . value,
HowToSpeakWithYou: ge( "text7" ) . value,
Email: ge( "text8" ) . value,
AnotherContact: ge( "textarea2" ) . value
} ) ;
return false ;
}
vlados
Отправлено: 15 Февраля, 2012 - 20:47:02 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
Угу, нашел свою ошибу.
Но теперь появилась другая, чекбоксы неправильно отправляются, они отправляются в бузу со значением "on" в независимости от того, что чекбокс нажат или нет.
CODE (
htmlphp ):
скопировать код в буфер обмена
function ge(elem) {
return document.getElementById(elem);
}
function validate() {
var err = false;
for (i = 1; i <= 8 ; i++ ) {
if ( ge( "text" + i) . value == "" ) {
ge( "text" + i) . className = 'error' ;
err = true ;
} else {
ge( "text" + i) . className = '' ;
}
}
if ( err == true ) { return false ; }
$. post( "core/sendfile.php" , {
mod: ge( "mod" ) . value,
Url: ge( "text1" ) . value,
YO: ge( "text2" ) . value,
CMS: ge( "text3" ) . value,
YaG: ge( "text4" ) . value,
NumberPeople: ge( "text5" ) . value,
Price: ge( "text6" ) . value,
GoGetLinks: ge( "check1" ) . value,
GoGoodLinks: ge( "check2" ) . value,
Trustlinks: ge( "check3" ) . value,
MiraLinks: ge( "check4" ) . value,
Rotapost: ge( "check5" ) . value,
prSape: ge( "check6" ) . value,
Linkfeed: ge( "check7" ) . value,
AnotherInfo: ge( "textarea1" ) . value,
HowToSpeakWithYou: ge( "text7" ) . value,
Email: ge( "text8" ) . value,
AnotherContact: ge( "textarea2" ) . value
} ) ;
return false ;
}
CODE (
htmlphp ):
скопировать код в буфер обмена
< input type= "checkbox" id= "check1" name= "1GoGetLinks" /> < label for = "check1" class= "inline" > GoGetLinks</ label>< br>
< input type= "checkbox" id= "check2" name= "1GoGoodLinks" /> < label for = "check2" class= "inline" > GoGoodLinks</ label>< br>
< input type= "checkbox" id= "check3" name= "1Trustlinks" /> < label for = "check3" class= "inline" > Trustlinks</ label>< br>
< input type= "checkbox" id= "check4" name= "1MiraLinks" /> < label for = "check4" class= "inline" > MiraLinks</ label>< br>
< input type= "checkbox" id= "check5" name= "1Rotapost" /> < label for = "check5" class= "inline" > Rotapost</ label>< br>
< input type= "checkbox" id= "check6" name= "1prSape" /> < label for = "check6" class= "inline" > pr.Sape</ label>< br>
< input type= "checkbox" id= "check7" name= "1Linkfeed" /> < label for = "check7" class= "inline" > Linkfeed</ label>
(Добавление)
о
vlados
Отправлено: 15 Февраля, 2012 - 19:27:14 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
CODE (
htmlphp ):
скопировать код в буфер обмена
function ge(elem) {
return document.getElementById(elem);
}
function validate() {
var err = false;
for (i = 1; i <= 8 ; i++ ) {
if ( ge( "text" + i) . value == "" ) {
ge( "text" + i) . className = 'error' ;
err = true ;
} else {
ge( "text" + i) . className = '' ;
}
}
if ( err ) return ;
$. post( "core/sendfile.php" , {
mod: ge( "mod" ) . value,
Url: ge( "text1" ) . value,
YO: ge( "text2" ) . value,
CMS: ge( "text3" ) . value,
YaG: ge( "text4" ) . value,
NumberPeople: ge( "text5" ) . value,
Price: ge( "text6" ) . value,
GoGetLinks: ge( "check1" ) . value,
GoGoodLinks: ge( "check2" ) . value,
Trustlinks: ge( "check3" ) . value,
MiraLinks: ge( "check4" ) . value,
Rotapost: ge( "check5" ) . value,
prSape: ge( "check6" ) . value,
Linkfeed: ge( "check7" ) . value,
AnotherInfo: ge( "textarea1" ) . value,
HowToSpeakWithYou: ge( "text7" ) . value,
Email: ge( "text8" ) . value,
AnotherContact: ge( "textarea2" ) . value
} ) ;
//return false;
}
Если я не ввожу все поля и нажимаю сабмит, то незаполненные поля подсвечиваются красным и происходит редирект на главную, откуда все начиналось
vlados
Отправлено: 15 Февраля, 2012 - 18:50:09 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
CODE (
htmlphp ):
скопировать код в буфер обмена
function ge(elem) {
return document.getElementById(elem);
}
function validate() {
var err = false;
for (i = 1; i <= 8 ; i++ ) {
if ( ge( "text" + i) . value == "" ) {
ge( "text" + i) . className = 'error' ;
} else {
ge( "text" + i) . className = '' ;
}
err = true ;
}
if ( err ) return ;
$. post( "core/sendfile.php" , {
mod: ge( "mod" ) . value,
Url: ge( "text1" ) . value,
YO: ge( "text2" ) . value,
CMS: ge( "text3" ) . value,
YaG: ge( "text4" ) . value,
NumberPeople: ge( "text5" ) . value,
Price: ge( "text6" ) . value,
GoGetLinks: ge( "check1" ) . value,
GoGoodLinks: ge( "check2" ) . value,
Trustlinks: ge( "check3" ) . value,
MiraLinks: ge( "check4" ) . value,
Rotapost: ge( "check5" ) . value,
prSape: ge( "check6" ) . value,
Linkfeed: ge( "check7" ) . value,
AnotherInfo: ge( "textarea1" ) . value,
HowToSpeakWithYou: ge( "text7" ) . value,
Email: ge( "text8" ) . value,
AnotherContact: ge( "textarea2" ) . value
} ) ;
//return false;
}
Такой код отправляет в любом случае, даже если я не ввел вообще данные, а код ормы не работает.
vlados
Отправлено: 15 Февраля, 2012 - 18:27:24 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
IllusionMH пишет:
Это вообще к чему?
не могу поставить +
IllusionMH пишет:
Смотрели, что serialize возвращает?
Нет.
Вот только, даже если я ввел данные не во все поля, все равно скрипт отправляет данные...
CODE (
htmlphp ):
скопировать код в буфер обмена
function validate() {
for (i = 1; i <= 8 ; i++ ) {
if ( ge( "text" + i) . value == "" ) {
ge( "text" + i) . className = 'error' ;
} else {
ge( "text" + i) . className = '' ;
}
}
$. post( "core/sendfile.php" , {
mod: ge( "mod" ) . value,
Url: ge( "text1" ) . value,
YO: ge( "text2" ) . value,
CMS: ge( "text3" ) . value,
YaG: ge( "text4" ) . value,
NumberPeople: ge( "text5" ) . value,
Price: ge( "text6" ) . value,
GoGetLinks: ge( "check1" ) . value,
GoGoodLinks: ge( "check2" ) . value,
Trustlinks: ge( "check3" ) . value,
MiraLinks: ge( "check4" ) . value,
Rotapost: ge( "check5" ) . value,
prSape: ge( "check6" ) . value,
Linkfeed: ge( "check7" ) . value,
AnotherInfo: ge( "textarea1" ) . value,
HowToSpeakWithYou: ge( "text7" ) . value,
Email: ge( "text8" ) . value,
AnotherContact: ge( "textarea2" ) . value
} ) ;
return false ;
}
vlados
Отправлено: 15 Февраля, 2012 - 17:46:51 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
CODE (
htmlphp ):
скопировать код в буфер обмена
function ge(elem) {
return document.getElementById(elem);
}
function validate() {
for (i = 1; i <= 8 ; i++ ) {
if ( ge( "text" + i) . value == "" ) {
ge( "text" + i) . className = 'error' ;
} else { ge( "text" + i) . className = '' ; }
}
$. post( "http://localhost/panel/core/sendfile.php" , $( "#vertical" ) . serialize ( ) ) ; return false ; }
Вот так работает подсветка и отправка, но почему-то не отправляет ничего(все поля пустые, хотя они заполнены)
(Добавление)
,
(Добавление)
IllusionMH пишет: IllusionMH
На вас какой-то "ручеек иссяк". Видимо в следующий раз.
(Добавление)
А что собственно делать мне?
(Добавление)
Может дело в php обработчике? Ведь он принимает POST в обычной форме, а тут какая-то функция непонятная взялась...
vlados
Отправлено: 15 Февраля, 2012 - 17:42:40 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
OrmaJever пишет: Ну правельно, подсвечивается первый незаполенный.
Даже нет, я набираю в один импут слово, нажимаю сабмит, подсвечиваются все незаполненные импуты, затем набираю слово в другой импут и нажимаю сабмит, но ничего не происходит, остается так же как перед этим. Почему так?
vlados
Отправлено: 15 Февраля, 2012 - 17:36:59 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
IllusionMH пишет: А почему бы не отправить форму таки макаром?
Так не хочет отправляться...
(Добавление)
С ним подсвечивается только один импут, а без него все незаполненные
(Добавление)
CODE (
htmlphp ):
скопировать код в буфер обмена
function ge(elem) {
return document.getElementById(elem);
}
function validate() {
for (i = 1; i <= 8 ; i++ ) {
if ( ge( "text" + i) . value == "" ) {
ge( "text" + i) . className = 'error ' + i;
}
}
$. post( "test.php" , $( "#vertical" ) . serialize ( ) ) ; return false ; }
Вот так, не работает подсветка(только в первый раз все подсвечивает, во второй и последующий нет) и не работает отправка.
vlados
Отправлено: 15 Февраля, 2012 - 17:32:44 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
CODE (
htmlphp ):
скопировать код в буфер обмена
function ge(elem) {
return document.getElementById(elem);
}
function validate() {
for (i = 1; i <= 8 ; i++ ) {
if ( ge( "text" + i) . value == "" ) {
ge( "text" + i) . className = 'error ' + i;
}
}
$. post( "http://localhost/panel/core/sendfile.php" , {
mod: ge( "mod" ) . value,
Url: ge( "text1" ) . value,
YO: ge( "text2" ) . value,
CMS: ge( "text3" ) . value,
YaG: ge( "text4" ) . value,
NumberPeople: ge( "text5" ) . value,
Price: ge( "text6" ) . value,
GoGetLinks: ge( "check1" ) . value,
GoGoodLinks: ge( "check2" ) . value,
Trustlinks: ge( "check3" ) . value,
MiraLinks: ge( "check4" ) . value,
Rotapost: ge( "check5" ) . value,
prSape: ge( "check6" ) . value,
Linkfeed: ge( "check7" ) . value,
AnotherInfo: ge( "textarea1" ) . value,
HowToSpeakWithYou: ge( "text7" ) . value,
Email: ge( "text8" ) . value,
AnotherContact: ge( "textarea2" ) . value
} ) ;
}
Если так сделать, то все поля незаполненные подсвечиваются. Но вот, даже если поля не заполнены, СКРИПТ ШЛЕТ ДАННЫЕ.
vlados
Отправлено: 15 Февраля, 2012 - 17:30:16 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript
Ответов: 68 Просмотров: 9257
IllusionMH пишет:
vlados, исправлять. В отладчике JS последовательно пройтись.
Файрбаг сидит молчком, ничего не показывает...
Страниц (27): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB