За последние 24 часа нас посетили 56274 программиста и 1777 роботов. Сейчас ищут 989 программистов ...

Zend

Тема в разделе "PHP для новичков", создана пользователем wir_wolf, 29 ноя 2009.

  1. wir_wolf

    wir_wolf Активный пользователь

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    Возможно ли зендом закодировать только часть php кода
    PHP:
    1.  
    2. $db = new db_layer();
    3. $db->getConnection();
    4. $i = $_GET["i"];
    5. $q = $_GET["text"];
    6. $sign = $_GET["sign"];
    7. $id = $_GET["id"];
    8. /*
    9. ==========================================================
    10. Проверяем
    11. ==========================================================
    12. */
    13. $host = $_SERVER['SERVER_NAME'];
    14. $security = "127.0.0.1";
    15. if ($host == $security){
    16.  
    17. эти 2 строки закодировать зендом
    18. $key = array("$key1", "$key2", "$key3", "$key4", "$key5");
    19. $cookie_key = array("$Security_key1", "$Security_cookie_key2", "Security_key3", "Security_key4", "Security_key5");
    20.  
    21.  
    22. тут уже открытый код
    23. if ($id == ""){echo "EROR! id is null";}else{
    24.  
     
  2. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    wir_wolf

    наверное, можно это вынести в отдельный файл, закодировать его, и включить в этом месте. попробуй.
     
  3. wir_wolf

    wir_wolf Активный пользователь

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    Как раз нельзя=(
    if($sign == $key[0])
    {$id ($i, $q);
    $id - это имя function которое я получаю методом $id = $_GET["id"];
    Даже если и получится... то как я объясню php что это имя функции а не переменная....
     
  4. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    $time = time();

    $time();


    см. что будет написано в Fatal error.
     
  5. wir_wolf

    wir_wolf Активный пользователь

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    Ну а если я буду импортировать
    PHP:
    1. $i = $_GET["i"];
    2. $q = $_GET["text"];
    3. $sign = $_GET["sign"];
    4. $id = $_GET["id"];
    оно отработает*?
     
  6. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Безотносительно к способу решения вопроса.

    Сам вопрос
    Не имеет смысла. Никакого.
    Для более менее устойчивой защиты необходимо кодировать ВЕСЬ код приложения.
     
  7. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    проэкспериментируй))
     
  8. wir_wolf

    wir_wolf Активный пользователь

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    Simpliest
    Код (Text):
    1. <?PHP
    2. require_once("db.php");
    3. require_once("key.php");
    4. include("function.php");
    5. include("function_security.php");
    6. $db = new db_layer();
    7. $db->getConnection();
    8. $i = $_GET["i"];
    9. $q = $_GET["text"];
    10. $sign = $_GET["sign"];
    11. $id = $_GET["id"];
    12.  
    13. /*
    14. ==========================================================
    15. Создаем массивы
    16. ==========================================================
    17. */
    18. $key = array("$key1", "$key2", "$key3", "$key4", "$key5");
    19. $cookie_key = array("$Security_key1", "$Security_cookie_key2", "Security_key3", "Security_key4", "Security_key5");
    20. /*
    21. ==========================================================
    22.  Получаем куки юзера
    23. ==========================================================
    24. */
    25. $temp_cookie = $_COOKIE["KEY"];
    26. /*
    27. ==========================================================
    28. Если куки пусты задаем их с первым ключем
    29. ==========================================================
    30. */
    31. if ($temp_cookie == "")
    32. {$id ($i, $q);
    33. $cookie = setcookie( "KEY", $key[0], time()+3600);
    34. $temp_cookie = $_COOKIE["KEY"];}
    35. /*
    36. ==========================================================
    37. Если в cookie юзера ключ №1 и ключ в передачи данных равен ключу №1 тогда выполняем функцию и задаем в куки ключ №2
    38. ==========================================================
    39. */
    40. elseif ($temp_cookie == $key[0]){
    41. if($sign == $key[0])
    42. {$id ($i, $q);
    43. $cookie = setcookie( "KEY", $key[1], time()+3600);
    44. $temp_cookie = $_COOKIE["KEY"];}else {echo "security eror";}
    45. }
    46. /*
    47. ==========================================================
    48. Повторяем эту же процедуру только с ключом №2
    49. ==========================================================
    50. */
    51. elseif ($temp_cookie == $key[1]){
    52. if($sign == $key[1])
    53. {$id ($i, $q);
    54. $cookie = setcookie( "KEY", $key[2], time()+3600);
    55. $temp_cookie = $_COOKIE["KEY"];}else {echo "security eror";}
    56. }
    57. /*
    58. ==========================================================
    59. Повторяем эту же процедуру только с ключом №3
    60. ==========================================================
    61. */
    62. elseif ($temp_cookie == $key[2]){
    63. if($sign == $key[2])
    64. {$id ($i, $q);
    65. $cookie = setcookie( "KEY", $key[3], time()+3600);
    66. $temp_cookie = $_COOKIE["KEY"];}else {echo "security eror";}
    67. }
    68. /*
    69. ==========================================================
    70. Повторяем эту же процедуру только с ключом №4
    71. ==========================================================
    72. */
    73. elseif ($temp_cookie == $key[3]){
    74. if($sign == $key[3])
    75. {$id ($i, $q);
    76. $cookie = setcookie( "KEY", $key[0], time()+3600);
    77. $temp_cookie = $_COOKIE["KEY"];}else {echo "security eror";}
    78. }
    79.  
    80. ?>
    закодировано
    elseif ($temp_cookie == $key[0]){
    if($sign == $key[0])
    открытый код
    {$id ($i, $q);
    закодировано
    $cookie = setcookie( "KEY", $key[1], time()+3600);
    $temp_cookie = $_COOKIE["KEY"];}else {echo "security eror";}
    }
    так понятней?
    и я не думаю что оно будет нормально так как эта глобальная переменная...
    Но я все таки попробую....
     
  9. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Не надо мне пытаться объяснить того, что ты не понимаешь.

    Если я захочу пользоваться твоим кодом без разрешения, я просто выкину/подменю закодированный кусок.

    Остановить меня сможет лишь трудоемкость процесса. Т.е. когда мне будет проще переписать весь скрипт, чем объем закодированного. А для этого надо закодировать существенную часть кода, а еще лучше - весь.
     
  10. wir_wolf

    wir_wolf Активный пользователь

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    Simpliest
    Не отклоняйся от вопроса!
     
  11. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    может проще дезендер заюзать? =)
    wir_wolf
    циклы использовать религия не позволяет?
     
  12. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    может и проще. Не озадачивался. Говорят что с ним не все так гладко.
     
  13. wir_wolf

    wir_wolf Активный пользователь

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    Mr.M.I.T.
    потому как запросы к этой пшпше будет делать флешка
    соответственно с этим мне легче чтобы у каждого юзера кто грузит флешку будут куи
    потому сидеть и заморачивать себе мозк по поводу того как цыкл среагирует на то или иное событие не хочется