Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Никак не могу придумать как реализовать

 PHP.SU

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


 Страниц (1): [1]   

> Без описания
__Lina__
Отправлено: 03 Марта, 2009 - 00:55:02
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Дек. 2008  
Откуда: Москва


Помог: 0 раз(а)




Имеется бд в Oracle, в которой находится большое кол-во таблиц, с различными свойствами сталей(хим сосотав, мех свойства и т.д.)
Есть вот такой скрипт для обработки формы, содержащей раскрывающийся список со свойствами стали и кнопку Submit
PHP:
скопировать код в буфер обмена
  1. <? if (isset($_GET['submit']))
  2. {
  3.  $id= $_GET['id'];
  4.  $svoystvo = $_GET['svoystvo'];
  5.  echo "$svoystvo";
  6. $sql = "SELECT * FROM $svoystvo WHERE ID_STAL='$id'";
  7. $res = OCIParse($c, $sql);
  8. oci_execute($res);
  9. // начало отрисовки таблицы
  10. echo "<TABLE BORDER=1>";
  11. echo "<TR>";
  12. // считывание заголовков таблиц из базы и отрисовка шапки талицы
  13. for ($i = 1; $i-1 < oci_num_fields($res); $i++) {
  14. echo "<TH>";
  15. $b = oci_field_name($res,$i);-..заголовок столбца
  16.  
  17.  
  18. if($b =='ID_STAL')
  19. {
  20.  
  21. }
  22. if($b =='ID_FEATURE')
  23. {
  24.  
  25. }
  26.  
  27. else
  28. {
  29. echo '$b';
  30. }
  31.  
  32. echo "</TH>";
  33. }
  34. //непосредственно заполнение самой таблицы
  35. while ($row = oci_fetch_row($res)) {
  36. echo "<TR>";
  37. for ($i = 0; $i < $fields=count($row); $i++) {
  38. echo "<TD>".$row[$i]."</TD>";
  39. }
  40. echo "</TR>";
  41. }
  42. echo "</TR></TABLE>";  
  43.     oci_close($c);  
  44. } ?>


Какие условия надо прописать в,
PHP:
скопировать код в буфер обмена
  1. if($b =='ID_STAL')
  2. {
  3.  
  4. }
  5. if($b =='ID_FEATURE')
  6. {
  7.  
  8. }
чтобы столбцы именно с таким именем не отрисовывались? заранее спасибо
 
 Top
Dastar
Отправлено: 03 Марта, 2009 - 04:25:20
Post Id



Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Янв. 2008  
Откуда: Израиль


Помог: -6 раз(а)




1. Можно просто не получать строки с подобным значением:
SELECT * FROM $svoystvo WHERE ID_STAL='$id' AND ID_STAL!='ID_STAL'...

2. Если все же надо получить подобные строки, то:
PHP:
скопировать код в буфер обмена
  1.  
  2. for ($i = 1; $i-1 < oci_num_fields($res); $i++) {
  3. $b = oci_field_name($res,$i);-..заголовок столбца
  4.  
  5. if($b =='ID_STAL' || $b =='ID_FEATURE')
  6.    continue;
  7.  
  8. echo "<TH>";
  9. echo '$b';
  10.  
  11.  
  12. echo "</TH>";
  13. }
  14.  


и три.
PHP:
скопировать код в буфер обмена
  1.  
  2. $id= $_GET['id'];
  3.  $svoystvo = $_GET['svoystvo'];
  4.  

Расскажите нам, непросвященным, что будет если прийдет хакер, и откроет эту страницу подобным образом:
CODE (text):
скопировать код в буфер обмена
  1. name_of_page.php?id=5'; DELETE FROM $svoystvo;&svoystvo=svoystvo


-----
Не знаешь - молчи.
 
 Top
__Lina__
Отправлено: 03 Марта, 2009 - 10:34:41
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Дек. 2008  
Откуда: Москва


Помог: 0 раз(а)




Боюсь, что ни один хакер никогда не доберется до этой страницы Радость Это мой диплом)) И кроме меня и ГЭКа вряд ли кто-то еще увидит сие творение)))
За совет спасибо)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB