Как защитить доступ = “удаленные” функции в CFCs от снуперов?

Этот код работает для меня

Для удаления панели навигации getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

Для удаления строки состояния getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);

ฺ Но код выше, он отображается снова, когда вы коснитесь экрана, поэтому, если вы хотите статическое состояние, объедините этот код.

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE);

6
задан Shawn Holmes 19 January 2012 в 15:22
поделиться

5 ответов

Вы можете использовать некоторые переменные области видимости CGI, чтобы проверить, откуда исходит запрос.

например: CGI.REMOTE_HOST, CGI.REMOTE_ADDR

Итак, вы, вероятно, построите новая функция со свойством access = "public", которое проверяет значения этих переменных по списку допустимых значений для вашего сервера. Если он вернет true, вы выполните запрос, а если он вернет false, вы выдадите / вернете какую-то ошибку.

4
ответ дан 10 December 2019 в 00:44
поделиться

Я бы предложил добавить обработчик OnRequestStart в ваш файл application.cfc и выполнить там проверку ... что это за проверка, зависит от на вашей текущей модели, но есть хорошие предложения: проверить cgi.remote_user (если аутентифицирован) или, возможно, сохранить что-то в области сеанса?

<cfif structKeyExists(session,"empID") and len(session.empid)>
  <!--- user is authenticated, process normally --->
<cfelse>
  <!--- abort request or sending meaningful error message --->
</cfif>
3
ответ дан 10 December 2019 в 00:44
поделиться

Я предпочитаю иметь только один аргумент для каждого метода - либо XML, либо Struct - и требует, чтобы определенное имя узла / объекта присутствовало в этом XML или Struct.

<cfif NOT StructKeyExists(arguments.myArgs, "requiredParam")>
    <cfxml name="myXML">
         <error>
             <message>Required parameter not found.</message>
         </error>
    </cfxml>

    <cfreturn myXML />
</cfif>

1
ответ дан 10 December 2019 в 00:44
поделиться

Как насчет использования нового атрибута ролей? Каждый, кто посещает ваш сайт, автоматически получает cflogin roles = "public".

2
ответ дан 10 December 2019 в 00:44
поделиться

Хотя я немного устарел, я откопал заметки Билла Перселла о защите приложений CF в целом. О защите CFC уже упоминалось.

http://www.bpurcell.org/blog/index.cfm?mode=entry&entry=978

0
ответ дан 10 December 2019 в 00:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: