小编sve*_*ija的帖子

REST API授权和身份验证(Web +移动)

我已经阅读过有关oAuth,Amazon REST API,HTTP Basic/Digest等的内容,但无法将其全部变成"单件".这可能是最接近的情况 - 为移动应用程序创建API - 身份验证和授权

我想建立以API为中心的网站 - 服务.所以(在一开始)我会在中心有一个API,网站(PHP + MySQL)将通过网络接口通过cURL,AndroidiPhone连接.所以3个主要客户端 - 3个API密钥.任何其他开发人员也可以通过API接口开发,他们将获得自己的API密钥.API操作将根据userLevel状态被接受/拒绝,如果我是管理员,我可以删除任何内容等,所有其他操作只能操作他们的本地(帐户)数据.

首先,授权 - 我应该使用oAuth + xAuth还是我自己的一些实现(参见http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/RESTAuthentication.html?r=9197)?据我所知,亚马逊服务用户是== API用户(有API密钥).在我的服务上,我需要将标准用户/帐户(在网站上注册的用户)和开发者帐户(应该有他们的API密钥)分开.

所以我首先需要授权API密钥,然后验证用户自己.如果我使用亚马逊的方案检查开发人员的API密钥(授权他们的应用程序),我应该使用哪个用于身份验证?

我读过关于通过api.example.org/auth(通过HTTPS,HTTP Basic)发布我的用户名和密码后获取令牌,然后在每个后续请求中转发它.如果我在Android网站上同时登录,如何管理令牌?如果我只在第一次请求时使用SSL(当用户名和密码被传输时)而且只在每个其他地方使用HTTP,那么中间人攻击呢?这个示例中的问题不是密码保护REST服务吗?

php authentication api rest authorization

69
推荐指数
1
解决办法
5万
查看次数

快速简单的字符串在JAVA中加密/解密

我需要快速而简单的方法来加密/解密 "很多" 字符串数据.我试过jasypt,但它在我的Android手机上崩溃了.我有大约2000条记录(字符串).

BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
textEncryptor.setPassword("password");
String myEncryptedText = textEncryptor.encrypt(input);
Run Code Online (Sandbox Code Playgroud)

还有其他方法吗?我不需要极高的安全性,它需要快速!

java string encryption android

45
推荐指数
2
解决办法
10万
查看次数

为什么使用SQLiteOpenHelper而不是SQLiteDatabase?

在我的活动中,我有例如

SQLiteDatabase db = openOrCreateDatabase(Preferences.DB_NAME, Context.MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS data (id INTEGER PRIMARY KEY, value VARCHAR)");
Cursor dbResult = db.rawQuery("SELECT value FROM data", null);
// do sometning with cursors
dbResult.close();
db.close();
Run Code Online (Sandbox Code Playgroud)

什么是使用的好处SQLiteOpenHelper

DatabaseHelper helper = new DatabaseHelper(this);
SQLiteDatabase db = helper.getWriteableDatabase();
SQLiteDatabase db_2 = helper.getReadableDatabase();
Cursor dbResult = db_2.rawQuery("SELECT value FROM data", null);
// do sometning with cursors
dbResult.close();
helper.close();
Run Code Online (Sandbox Code Playgroud)

类本身

public class DatabaseHelper extends SQLiteOpenHelper {
    public DatabaseHelper(Context context) {
        super(context, Preferences.DB_NAME, null, Preferences.DB_VERSION); …
Run Code Online (Sandbox Code Playgroud)

sqlite android

37
推荐指数
3
解决办法
2万
查看次数

安装Ant时出错:ANT_HOME设置不正确

我读了所有可能的解决方案但没有工作.我下载了蚂蚁并将其放入C:\ant(所以我有C:\ant\bin)

在Windows 7系统变量下,我有一个名为ANT_HOME的变量值

C:\ant
Run Code Online (Sandbox Code Playgroud)

和变量名为PATH的值

%ANT_HOME%\bin
Run Code Online (Sandbox Code Playgroud)

当我尝试cmd(命令提示符)时

ant -version
Run Code Online (Sandbox Code Playgroud)

我明白了

ANT_HOME设置不正确或无法找到ant.请设置ANT_HOME.

另外,如果我试试

echo %ANT_HOME%
Run Code Online (Sandbox Code Playgroud)

我明白了

C:\ant
Run Code Online (Sandbox Code Playgroud)

我尝试了PATH = %PATH%;%ANT_HOME%\ bin但情况相同.任何人?

编辑:

变量是(名称 - 值):

ANT_HOME - C:\ant
CLASSPATH - .;C:\Program Files\Java\jre6\lib\ext\QTJava.zip
ComSpec - %SystemRoot%\system32\cmd.exe
FP_NO_HOST_CHECK - NO
JAVA_HOME - C:\Program Files\Java\jdk1.6.0_23
NUMBER_OF_PROCESSORS - 2
OS - Windows_NT
PATH - %ANT_HOME%\bin;%JAVA_HOME%\bin
PATHEXT - .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE - x86
PROCESSOR_IDENTIFIER - x86 Family 6 Model 15 Stepping 6, GenuineIntel
PROCESSOR_LEVEL …
Run Code Online (Sandbox Code Playgroud)

java ant

36
推荐指数
2
解决办法
9万
查看次数

Chrome中的部分SSL

访问我的网站在SSLChrome(12.0)我得到

您与某个网站的连接使用256位加密进行加密.但是,此页面包含其他不安全的资源.其他人在传输过程中可以查看这些资源,攻击者可以修改这些资源以更改页面的行为.

连接使用TLS 1.0.

连接使用AES-256_CBC加密,SHA1用于消息验证,DHE_RSA用作密钥交换机制.

连接使用DEFLATE进行压缩.

我使用FireBug (NET选项卡)Chrome Inspector进行了搜索,所有资源都通过https访问.问题出在哪儿?*我清除缓存已经

可能是什么问题呢?

ssl google-chrome

30
推荐指数
2
解决办法
2万
查看次数

由blueimp进行的jQuery-File-Upload - 附加标题

我已经搜索过wiki,但找不到答案我应该Authorization在JS脚本中放置我的附加标题(例如标题)?某处onSend/ beforeSend或?

小部件链接: https ://github.com/blueimp/jQuery-File-Upload

php jquery file-upload blueimp

15
推荐指数
3
解决办法
2万
查看次数

REST API - 包括相关的对象详细信息或仅包含ID

什么是更好的设计实践?

如果我有对象A并且它包含一些相关对象,例如我有一个汽车对象,它有各种类型.

我是否应该根据请求api.example.org/cars/1仅响应这些资源的ID(因此,如果有人需要有关它们的详细信息,则需要另外的API调用api.example.org/type/1)

{
    "id": 1,
    "name": "Some Car",
    "types": [
        1,
        2
    ]
}
Run Code Online (Sandbox Code Playgroud)

或提供有关这些资源的详细信息

{
    "id": 1,
    "name": "Some Car",
    "types": [
        {
            "id": 1,
            "name": "Some Type",
            "something": "Blah"
        },
        {
            "id": 2,
            "name": "Some Type",
            "something": "Blah"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

或者提供可选参数,例如"displayAll",然后提供带有参数名称的数组,这些参数应该在一次API调用中检索(在本例中为类型).

api rest json design-patterns

13
推荐指数
1
解决办法
3421
查看次数

跨多个进程的Otto/EventBus

是否可以post在一个进程中进行事件(例如,SyncAdapter其中包含android:process=":sync"manifest属性)并使用OttoEventBus在另一个进程中(在常规应用程序UI中)接收它?

我知道,IntentBroadcastReceiver跨多个进程通信工作得很好,但我想有简单性和灵活性奥托/ EventBus.

android android-syncadapter otto greenrobot-eventbus

12
推荐指数
1
解决办法
3439
查看次数

jQuery $(this).remove()在追加后无法正常工作

我有一个class="tags"带有一个预定义超链接的div .

<div class="tags">
     <a href="#">myLink</a>
</div>
Run Code Online (Sandbox Code Playgroud)

我有功能删除该超链接,如果用户点击它.

$('.tags a').click(function() {
    $(this).remove();
    return false;
});
Run Code Online (Sandbox Code Playgroud)

这适用于预定义的超链接.如果我在jQuery的帮助下添加其他链接(在页面加载后)

$('.tags').append('<a href="#">newLink</a>');
Run Code Online (Sandbox Code Playgroud)

将不会在这些添加的链接上调用删除超链接(单击时)的功能.怎么解决这个?

jquery append

11
推荐指数
1
解决办法
2万
查看次数

使用特殊字符读/写.txt文件

我打开记事本(Windows)并写

Some lines with special characters
Special: Ž?š??
Run Code Online (Sandbox Code Playgroud)

并转到另存为... "someFile.txt",其中Encoding设置为UTF-8.

在Java中我有

FileInputStream fis = new FileInputStream(new File("someFile.txt"));
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader in = new BufferedReader(isr);

String line;
while((line = in.readLine()) != null) {                         
    printLine(line);
}
in.close();
Run Code Online (Sandbox Code Playgroud)

但我得到问号和类似的"特殊"字符.为什么?

编辑:我有这个输入(.txt文件中的一行)

665,Ž?š??
Run Code Online (Sandbox Code Playgroud)

和这段代码

FileInputStream fis = new FileInputStream(new File(fileName));
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader in = new BufferedReader(isr);

String line;
while((line = in.readLine()) != null) {
    Toast.makeText(mContext, line, Toast.LENGTH_LONG).show();

    Pattern …
Run Code Online (Sandbox Code Playgroud)

java eclipse file-io android character-encoding

9
推荐指数
1
解决办法
5万
查看次数