【问题标题】:Protecting SQL Server for Private Usage保护 SQL Server 以供私人使用
【发布时间】:2018-07-02 05:36:01
【问题描述】:

所以我有一个问题。我有一个服务器,我们称之为(testserver.net)。现在,要从我的应用程序更改数据库,我的应用程序运行“testserver.net\add.php”。问题是任何人都可以运行它并更改我的数据库中的内容。在运行 add.php 中的代码之前,我如何使它需要某种验证,以便没有人可以访问我的服务器? (比如密码什么的)。

【问题讨论】:

  • 让您的应用程序使用一些秘密令牌访问 add.php(使其成为一个长字符串)。如果请求中不存在令牌,则拒绝访问脚本文件。

标签: php mysql android-studio security server


【解决方案1】:

创建一个令牌:1MBASFDFACAUYTUG^%(!@UUIASNSR*_-+LASQWFVSA4QWYUI12670 ,将此令牌安全地保存在您的应用程序中。

每当您想调用 add.php 时,都可以像这样传递令牌:

testserver.net?token=1MBASFDFACAUYTUG^%(!@UUIASNSR*_-+LASQWFVSA4QWYUI12670

add.php

$secret = $_POST['secret']; //use post or get
if($secret != $mySavedSecret){
    die('intruder!!')
}

【讨论】:

  • URL 数据应该被正确编码……至少百分号如果未编码会造成麻烦。
  • @LarsStegelitz 完全正确
【解决方案2】:

将您的add.php文件放在单独的文件夹中并用密码保护它,或者您可以使用Password protect a specific URL解决方案

【讨论】:

  • 如果我从我的应用中调用 url,我可以使用这个吗?
  • 我不确定,但您可以尝试通过您的应用传递身份验证数据(用户名和密码)。或者您想一些更复杂的解决方案来验证您的应用程序...尝试搜索
【解决方案3】:

您需要先执行身份验证,然后再执行授权。在 PHP 中有很多框架支持这一点。

请检查此以进行基本身份验证

https://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html

或者您可以使用流行的框架并按照他们的教程来执行此操作。

查看这个php微框架Slim

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 2021-03-19
    • 2019-02-14
    相关资源
    最近更新 更多