Альтернатива методам GET и POST для отправки / получения данных из формы - PullRequest
4 голосов
/ 24 июня 2011

Я пытаюсь создать веб-приложение на PHP.

Но я не хочу использовать методы GET & POST, так как пользователь должен знать, что и как мы отправляем данные, просто взглянув наконец HTML.Конечно, мы всегда можем очистить данные, но все же я хочу сохранить формат данных для себя.

Есть ли альтернатива вышеприведенному ...

можно ли что-то сделать сURL, так что тип и формат данных не раскрывается.Я видел что-то в этом отношении, связанное с переписыванием модов.

Пожалуйста, предложите и скажите мне, если я на правильном пути.

Ответы [ 4 ]

3 голосов
/ 24 июня 2011

Вы не на правильном пути.

Вы не можете скрыть способ отправки данных, потому что браузер должен каким-то образом знать, и, если он знает, возможный злоумышленник узнает.Используйте GET и POST, как обычно, фильтруйте и очищайте пользовательские данные.Это лучшее, что вы можете сделать.

Вы даже можете изменить URL-адрес, но браузер все еще будет иметь его, как и возможный злоумышленник.

Если вы собираетесь что-то более безопасное, HTTPSкажется, хороший вариант для вас.

2 голосов
/ 24 июня 2011

GET и POST - ваши единственные варианты.Кроме того, ваш сценарий не должен зависеть от незнания пользователем того, как он работает в целях безопасности, это все равно, что оставить свой дом незапертым на том основании, что люди обычно не пробуют случайные двери, чтобы узнать, не разблокированы ли они.Безопасность по неизвестности обречена на провал.

1 голос
/ 24 июня 2011

Вопреки тому, что другие люди размещают здесь, вы можете в некоторых отношениях делать то, что вам нравится, хотя это не достигнет вашей цели:

PUT / SEARCH / DELETE - все это концепции интерфейса RESTful

Если вы хотите быть изобретательным ... создайте новый с именем HIDEFROMUSER и настройте свой веб-сервер и PHP-скрипт так, чтобы он принимался в заголовках.Обратите внимание, что большинство, если не все браузеры не поддерживают это, но вызов jquery ajax должен ...

 header('Allow: GET, HEAD, POST, DELETE, HIDEFROMUSER', true, 405);

 $accept = $_SERVER['HTTP_ACCEPT'];
 // does $accept equal one of your allowed methods?

Наконец $yourHiddenWayOfDoingThings = fopen('php://input', 'r');

Люди все равно увидят, что вы делаете если это работает и вы не оправдали своих ожиданий ...

0 голосов
/ 24 июня 2011

Единственное предложение, которое я могу предложить, - это скрыть HTML, например, если вы используете flash / silverlight или java, пользователь не сможет получить доступ даже к именам полей формы, назначению страницы страницы обработки и т. Д. Вы также можете, если необходимо выполнить какую-либо форму манипулирования данными, чтобы вы отправили данные = и другой конец, отмените манипуляцию и проанализируйте ее, но, конечно, все, что может быть разобрано, открыто для атаки, если кто-то отслеживает сетевые данные и тратит достаточно времени на разработку. как ты манипулировал им.

...