PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (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 инъекции, уязвимости, а потом только строить.

Вроде сделал я, сам. Все работает всем спасибо.

Но без дурака, жизнь скушна. Поэтому у меня появилась еще одна проблема..

Есть панелька в ней ссылки на функцию:
Спойлер (Отобразить)


Функция должна получить значение (первое, второе), а потом создать пост запрос и получить ответ, а ответ вывести в пустом диве:

Спойлер (Отобразить)


Я немного подумал и пришел к странной функции, которая естественно это не работает, что тут нужно написать, чтобы все работало?

Файл который импортируется имеет такую структуру(по сути, это простая таблица):

Спойлер (Отобразить)


Цитата:

OrmaJever, тут я уже сам интересуюсь, зачем использовать mysql_real_escape_string, если мы уверены что это строка === "true"?


JavaScript выполняется на стороне клиента, поэтому его можно подменить обычным скриптом например на моем любимом питоне. Там можно передать некие пакости в виде "-1+union+select+1,2,3,4,5,6--"(это скуля). Ставлю я такую конструкцию везде, где работаю с БД, ибо лучше один раз перестраховаться, чем потом [нужное вставить].
vlados Отправлено: 15 Февраля, 2012 - 21:32:01 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
А вот такая конструкция должна работать?
CODE (htmlphp):
скопировать код в буфер обмена
  1. isset($_POST['GoGetLinks'])     ?$GoGetLinks=mysql_real_escape_string(if($_POST['GoGetLinks']==="true"){return 1;}else{return 0;}):$GoGetLinks="";

(Добавление)
в
vlados Отправлено: 15 Февраля, 2012 - 21:08:24 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
Ну если делать так как вы написали, то все равно в бд записываются "on"-
(Добавление)
Спойлер (Отобразить)
vlados Отправлено: 15 Февраля, 2012 - 21:00:12 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
В бд записывает "on", если нет велъю, если велъю = 1, то в бд записывает 1 в независимости от активности чекбокса. Огорчение
vlados Отправлено: 15 Февраля, 2012 - 20:47:02 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
Угу, нашел свою ошибу.
Но теперь появилась другая, чекбоксы неправильно отправляются, они отправляются в бузу со значением "on" в независимости от того, что чекбокс нажат или нет.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function ge(elem) {
  3.     return document.getElementById(elem);
  4. }
  5.  
  6. function validate() {
  7.        
  8.     var err = false;
  9.        
  10.     for (i = 1; i <= 8; i++) {
  11.        if (ge("text" + i).value == "") {
  12.            ge("text" + i).className = 'error';
  13.                         err = true;
  14.        } else {
  15.            ge("text" + i).className = '';
  16.        }
  17.    }
  18.        
  19.         if( err == true){ return false;}
  20.    $.post("core/sendfile.php", {
  21.        mod: ge("mod").value,
  22.        Url: ge("text1").value,
  23.        YO: ge("text2").value,
  24.        CMS: ge("text3").value,
  25.        YaG: ge("text4").value,
  26.        NumberPeople: ge("text5").value,
  27.        Price: ge("text6").value,
  28.        GoGetLinks: ge("check1").value,
  29.        GoGoodLinks: ge("check2").value,
  30.        Trustlinks: ge("check3").value,
  31.        MiraLinks: ge("check4").value,
  32.        Rotapost: ge("check5").value,
  33.        prSape: ge("check6").value,
  34.        Linkfeed: ge("check7").value,
  35.        AnotherInfo: ge("textarea1").value,
  36.        HowToSpeakWithYou: ge("text7").value,
  37.        Email: ge("text8").value,
  38.        AnotherContact: ge("textarea2").value
  39.    });
  40.  
  41.    return false;
  42. }
  43.  


CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3.                                 <input type="checkbox" id="check1" name="1GoGetLinks" /> <label for="check1" class="inline">GoGetLinks</label><br>
  4.                                 <input type="checkbox" id="check2" name="1GoGoodLinks"/> <label for="check2" class="inline">GoGoodLinks</label><br>
  5.                                 <input type="checkbox" id="check3" name="1Trustlinks" /> <label for="check3" class="inline">Trustlinks</label><br>
  6.                                 <input type="checkbox" id="check4" name="1MiraLinks" /> <label for="check4" class="inline">MiraLinks</label><br>
  7.                                 <input type="checkbox" id="check5" name="1Rotapost" /> <label for="check5" class="inline">Rotapost</label><br>
  8.                                 <input type="checkbox" id="check6" name="1prSape" /> <label for="check6" class="inline">pr.Sape</label><br>
  9.                                 <input type="checkbox" id="check7" name="1Linkfeed" /> <label for="check7" class="inline">Linkfeed</label>
  10.  
  11.  

(Добавление)
о
vlados Отправлено: 15 Февраля, 2012 - 20:12:34 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
Все равно редирект... Огорчение
vlados Отправлено: 15 Февраля, 2012 - 19:27:14 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function ge(elem) {
  3.     return document.getElementById(elem);
  4. }
  5.  
  6. function validate() {
  7.        
  8.     var err = false;
  9.        
  10.     for (i = 1; i <= 8; i++) {
  11.        if (ge("text" + i).value == "") {
  12.            ge("text" + i).className = 'error';
  13.                         err = true;
  14.        } else {
  15.            ge("text" + i).className = '';
  16.        }
  17.    }
  18.        
  19.         if( err ) return;
  20.    $.post("core/sendfile.php", {
  21.        mod: ge("mod").value,
  22.        Url: ge("text1").value,
  23.        YO: ge("text2").value,
  24.        CMS: ge("text3").value,
  25.        YaG: ge("text4").value,
  26.        NumberPeople: ge("text5").value,
  27.        Price: ge("text6").value,
  28.        GoGetLinks: ge("check1").value,
  29.        GoGoodLinks: ge("check2").value,
  30.        Trustlinks: ge("check3").value,
  31.        MiraLinks: ge("check4").value,
  32.        Rotapost: ge("check5").value,
  33.        prSape: ge("check6").value,
  34.        Linkfeed: ge("check7").value,
  35.        AnotherInfo: ge("textarea1").value,
  36.        HowToSpeakWithYou: ge("text7").value,
  37.        Email: ge("text8").value,
  38.        AnotherContact: ge("textarea2").value
  39.    });
  40.  
  41.    //return false;
  42. }
  43.  


Если я не ввожу все поля и нажимаю сабмит, то незаполненные поля подсвечиваются красным и происходит редирект на главную, откуда все начиналось Недовольство, огорчение
vlados Отправлено: 15 Февраля, 2012 - 18:50:09 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function ge(elem) {
  3.     return document.getElementById(elem);
  4. }
  5.  
  6. function validate() {
  7.        
  8.     var err = false;
  9.        
  10.     for (i = 1; i <= 8; i++) {
  11.        if (ge("text" + i).value == "") {
  12.            ge("text" + i).className = 'error';
  13.        } else {
  14.            ge("text" + i).className = '';
  15.        }
  16.                 err = true;
  17.    }
  18.        
  19.         if( err ) return;
  20.    $.post("core/sendfile.php", {
  21.        mod: ge("mod").value,
  22.        Url: ge("text1").value,
  23.        YO: ge("text2").value,
  24.        CMS: ge("text3").value,
  25.        YaG: ge("text4").value,
  26.        NumberPeople: ge("text5").value,
  27.        Price: ge("text6").value,
  28.        GoGetLinks: ge("check1").value,
  29.        GoGoodLinks: ge("check2").value,
  30.        Trustlinks: ge("check3").value,
  31.        MiraLinks: ge("check4").value,
  32.        Rotapost: ge("check5").value,
  33.        prSape: ge("check6").value,
  34.        Linkfeed: ge("check7").value,
  35.        AnotherInfo: ge("textarea1").value,
  36.        HowToSpeakWithYou: ge("text7").value,
  37.        Email: ge("text8").value,
  38.        AnotherContact: ge("textarea2").value
  39.    });
  40.  
  41.    //return false;
  42. }
  43.  


Такой код отправляет в любом случае, даже если я не ввел вообще данные, а код ормы не работает.
vlados Отправлено: 15 Февраля, 2012 - 18:27:24 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
IllusionMH пишет:

Это вообще к чему?

не могу поставить +
IllusionMH пишет:

Смотрели, что serialize возвращает?

Нет.

Вот только, даже если я ввел данные не во все поля, все равно скрипт отправляет данные...


CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. function validate() {
  4.  
  5.     for (i = 1; i <= 8; i++) {
  6.        if (ge("text" + i).value == "") {
  7.            ge("text" + i).className = 'error';
  8.        } else {
  9.            ge("text" + i).className = '';
  10.        }
  11.    }
  12.    $.post("core/sendfile.php", {
  13.        mod: ge("mod").value,
  14.        Url: ge("text1").value,
  15.        YO: ge("text2").value,
  16.        CMS: ge("text3").value,
  17.        YaG: ge("text4").value,
  18.        NumberPeople: ge("text5").value,
  19.        Price: ge("text6").value,
  20.        GoGetLinks: ge("check1").value,
  21.        GoGoodLinks: ge("check2").value,
  22.        Trustlinks: ge("check3").value,
  23.        MiraLinks: ge("check4").value,
  24.        Rotapost: ge("check5").value,
  25.        prSape: ge("check6").value,
  26.        Linkfeed: ge("check7").value,
  27.        AnotherInfo: ge("textarea1").value,
  28.        HowToSpeakWithYou: ge("text7").value,
  29.        Email: ge("text8").value,
  30.        AnotherContact: ge("textarea2").value
  31.    });
  32.  
  33.    return false;
  34. }
  35.  
vlados Отправлено: 15 Февраля, 2012 - 18:04:59 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
Да, так все работает всем спасибо, орме + поставил, IllusionMH тебе не повезло, форум на меня ручейком давит Улыбка
vlados Отправлено: 15 Февраля, 2012 - 17:46:51 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
CODE (htmlphp):
скопировать код в буфер обмена
  1. function ge(elem) {
  2.     return document.getElementById(elem);
  3. }
  4.  
  5. function validate() {
  6.  
  7.     for (i = 1; i <= 8; i++) {
  8.        if (ge("text" + i).value == "") {
  9.            ge("text" + i).className = 'error';
  10.        }else{ge("text" + i).className = '';}
  11.    }
  12.    $.post("http://localhost/panel/core/sendfile.php", $("#vertical").serialize()); return false;
  13. }


Вот так работает подсветка и отправка, но почему-то не отправляет ничего(все поля пустые, хотя они заполнены)
(Добавление)
,
(Добавление)
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):
скопировать код в буфер обмена
  1. vlados помоему в моём варианте кода в цыкле был return ?

С ним подсвечивается только один импут, а без него все незаполненные Улыбка
(Добавление)
CODE (htmlphp):
скопировать код в буфер обмена
  1. function ge(elem) {
  2.     return document.getElementById(elem);
  3. }
  4.  
  5. function validate() {
  6.  
  7.     for (i = 1; i <= 8; i++) {
  8.        if (ge("text" + i).value == "") {
  9.            ge("text" + i).className = 'error ' + i;
  10.        }
  11.    }
  12.    $.post("test.php", $("#vertical").serialize()); return false;
  13. }



Вот так, не работает подсветка(только в первый раз все подсвечивает, во второй и последующий нет) и не работает отправка.
vlados Отправлено: 15 Февраля, 2012 - 17:32:44 • Тема: Отправка POST к скрипту. • Форум: JavaScript & VBScript

Ответов: 68
Просмотров: 9257
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function ge(elem) {
  3.     return document.getElementById(elem);
  4. }
  5.  
  6. function validate() {
  7.  
  8.     for (i = 1; i <= 8; i++) {
  9.        if (ge("text" + i).value == "") {
  10.            ge("text" + i).className = 'error ' + i;
  11.        }
  12.    }
  13.    $.post("http://localhost/panel/core/sendfile.php", {
  14.        mod: ge("mod").value,
  15.        Url: ge("text1").value,
  16.        YO: ge("text2").value,
  17.        CMS: ge("text3").value,
  18.        YaG: ge("text4").value,
  19.        NumberPeople: ge("text5").value,
  20.        Price: ge("text6").value,
  21.        GoGetLinks: ge("check1").value,
  22.        GoGoodLinks: ge("check2").value,
  23.        Trustlinks: ge("check3").value,
  24.        MiraLinks: ge("check4").value,
  25.        Rotapost: ge("check5").value,
  26.        prSape: ge("check6").value,
  27.        Linkfeed: ge("check7").value,
  28.        AnotherInfo: ge("textarea1").value,
  29.        HowToSpeakWithYou: ge("text7").value,
  30.        Email: ge("text8").value,
  31.        AnotherContact: ge("textarea2").value
  32.    });
  33. }
  34.  


Если так сделать, то все поля незаполненные подсвечиваются. Но вот, даже если поля не заполнены, СКРИПТ ШЛЕТ ДАННЫЕ.
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 PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB