Какие бы скрытые механизмы мы ни использовали, скрипт в конечном итоге должен запускаться в браузере.Отправка функции как сериализованного объекта JSON может помочь немного, однако, когда кто-то исследует объект XHR с помощью специальных инструментов проверки браузера, это снова будет ясно видно.
Здесь - этопростая демонстрация того, что я пытался сказать.Критический код javascript приведен ниже
if (xmlHttp.readyState == 4) {
ret_value=xmlHttp.responseText;
var myObject = eval('(' + ret_value + ')');
document.getElementById("result").value=myObject(addend_1,addend_2);
}
. Как видите, реальная функция, выполняющая вычисления, возвращается сценарием php и недоступна для просмотра в исходном файле.Предупреждение: я использовал здесь eval
, который следует использовать только при приеме данных из надежных источников (см. Примечание ниже).Как упоминалось ранее, хотя это поможет скрыть ваш код, можно просмотреть эту функцию с помощью инструментов проверки, доступных во всех современных браузерах, или опубликовать URL-адрес с помощью curl или любых других программных средств.
РЕДАКТИРОВАТЬ: после прочтения JSON и тестирования JSON.parse я понимаю, что JSON нельзя использовать для методов и предназначен исключительно для обмена данными, см. здесь .