Articles of PHP

ByetHost服务器使用JSON字符串传递html值“检查您的浏览器”

在尝试将json字符串解析为android时,会传递HTML值。 在一天之前一切都很好,突然我的应用程序在尝试使用php文件获取数据库时开始崩溃。 当我检查注意到html值..请参阅logcat 08-10 01:09:55.814: E/result(6744): Checking your browser..function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e=””,f=0;fd[f]?”0″:””)+d[f].toString(16);return e.toLowerCase()}var a=toNumbers(“f655ba9d09a112d4968c63579db590b4”),b=toNumbers(“98344c2eee86c3994890592585b49f80”),c=toNumbers(“7965e114a1dccaf35af3756261f75ad8″);document.cookie=”__test=”+toHex(slowAES.decrypt(c,2,a,b))+”; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/”;location.href=”http://realroom.byethost24.com/medical/stokist.php?ckattempt=1″; 08-10 01:09:55.814: E/JSON Parser(6744): Error parsing data org.json.JSONException: Value Checking of type java.lang.String cannot be converted to JSONObject 08-10 01:09:55.816: E/AndroidRuntime(6744): FATAL EXCEPTION: AsyncTask #1 08-10 01:09:55.816: E/AndroidRuntime(6744): Process: com.example.medionline, PID: 6744 08-10 01:09:55.816: […]

Android凌空通过图片上传发送两次信息

我试图从我的发布数据发送到我的服务器的图像从android。 为了实现这一点,我将64位编码的我的图像编码为字符串并使用android volley库发送它。 但这会引起问题。 由于某种原因,它有时会发送两次post,我无法弄清楚原因。 下面是调用发送post请求的函数。 我在String url = “http://domain.com/ajax_ws.php”;放了一个符号标记String url = “http://domain.com/ajax_ws.php”; 然后一个在protected Map getParams() {我发现的是String url = …只被调用一次但是当它发送两个时, protected Map…被调用两次。 我找不到关于android排球的任何文档,所以我不知道为什么会这样。 调整位图大小,使图像字符串始终保持在100k到200k字符之间。 我想也许这是一个大小问题,但我的服务器正在接收图像并解码它们,一切都很好。 public void Sharing() { pd = ProgressDialog.show(getParent(), null, “Please Wait…”); final String caption = mEtMessage.getText().toString(); RequestQueue queue = Volley.newRequestQueue(this); String url = “http://domain.com/ajax_ws.php”; StringRequest postRequest = new StringRequest( Request.Method.POST, url, […]

使用PHP openssl进行应用内购买签名validation

尝试在此处遵循应用内购买的一些安全准则: http : //developer.android.com/guide/market/billing/billing_best_practices.html我尝试在服务器上进行签名validation,而不是在app iteself。 我理想情况下喜欢使用php openssl库,它看起来像以下代码应该工作: $public_key_str = file_get_contents(“./pubKey/out”); $public_key_str = trim($public_key_str); $key = openssl_get_publickey($public_key_str); if(!$key) { echo ‘Can\’t get public key’; } $signature = base64_decode( $signature ); $ok = openssl_verify($data, $signature, $key); var_dump($ok); 我知道我的签名和公钥都是正确的,但$ ok是0! 签名我尝试使用的是来自应用购买套装的字符串。 猜猜我的钥匙是正确的,问题是签名。 当我尝试使用以下命令从base64解码它时:openssl enc -base64 -d -in signature -A> signature.bin,我的字符串与base64_decode()相同。 有任何想法吗 ? UPD:我真的不知道我应该在openssl_verify()中传递什么作为$ data? 我的数据如下所示: $data = ‘{“nonce”:5550262978898439313,”orders”:[{“notificationId”:”android.test.purchased”,”orderId”:”transactionId.android.test.purchased”,”packageName”:”com.ads.testbilling”,”productId”:”android.test.purchased”,”purchaseTime”:1308224646237,”purchaseState”:0}]}’;

Android,PHP和node.js之间的加密和解密

我正在尝试在Android上加密Java中的字符串,然后使用PHP和/或node.js对其进行解密 我已经尝试过http://www.androidsnippets.com/encrypt-decrypt-between-android-and-php ,但只返回返回的hex字符串的前半部分。 我希望加密types是带有128位密钥的AES(如果可能,则更高)。 加密密钥也需要是可配置的,所以我的问题可能与我填充字符串的方式有关。 Java的 String.format(“%1$-” + n + “s”, s) PHP $key = str_pad($key,16); 完整的Java代码: package com.giggsey.test; import java.security.NoSuchAlgorithmException; import javax.crypto.Cipher; import javax.crypto.NoSuchPaddingException; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import android.util.Log; public class SimpleCrypto { private String iv = “fedcba9876543210”;//Dummy iv (CHANGE IT!) private IvParameterSpec ivspec; private SecretKeySpec keyspec; private Cipher cipher; private String SecretKey […]

使用堆栈交换API

我试图用堆栈交换api upvote stackoverflow问题并且失败了。 我已经尝试了很多,但我没有让它工作。 url: http://api.stackexchange.com/2.2/questions/35007869/upvote 文件 https://api.stackexchange.com/docs/upvote-question Json数据: { “key” : “my key”, “access_token” : “my token”, “site” : “stackoverflow.com”, “preview” : “false”, “filter”: “default” } 我通过以下参数尝试了fiddler。 User-Agent: Fiddler Host: api.stackexchange.com Content-Length: 159 Content-Type: application/json; charset=utf-8 和POST方法。 但我失败了以下错误消息。 error_id=400 error_message=site is required error_name=bad_parameter 但我已经在我的JSON对象中提供了该站点。 所以任何帮助都会非常值得一提。 更新 虽然在小提琴手中尝试这个,但我得到了以下信息。

在循环中执行网络呼叫后,同一项目被删除两次

我面临一个奇怪的问题。 我试图从mysql database删除所选项目。 虽然查询的所有内容都是正确的,但我测试了查询并且它可以工作,但它不会从数据库中删除项目。 代码: private class DeleteData extends AsyncTask<String, Void, List> { @Override protected void onPreExecute() { super.onPreExecute(); progressDialog = new ProgressDialog(CartActivity.this); progressDialog.setMessage(getString(R.string.get_stocks)); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.setIndeterminate(true); progressDialog.setCancelable(false); progressDialog.show(); } @Override protected List doInBackground(String… params) { nameValuePairs = new ArrayList(); cartItems = new ArrayList(); try { url = new URL(params[0]); httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setReadTimeout(10000); httpURLConnection.setConnectTimeout(15000); […]

以编程方式将video从php服务器流式传输到android

我有一个video的url。 我想将video流式传输到我的应用程序。 我可以完全下载video文件,然后播放它但我希望在下载video时也可以播放video,就像在youtube中一样。 我有一个运行的php服务器,上面有video。 我已经看到这个问题被问到了,但是对于任何问题都没有答案。

如何从Google GAIA ID中查找用户信息?

我一直在研究用于Google的Takeout服务的Hangouts.json解析器,该解析器接收来自json文件的所有会话,附件和杂项信息,并使用所有内容填充数据库。 我已经完成了所有工作,但json文件提供的唯一信息是谁发送了我能够弄清楚的GAIA ID,这是Google在其服务之间使用的唯一ID。 问题是我不知道如何查找有关用户的任何其他信息,例如他们识别的名称或他们的电子邮件。 我知道大部分信息都是公开的,因为您可以使用GAIA ID并将其放入以下url: https://plus.google.com/u/0/#####################/about : https://plus.google.com/u/0/#####################/about #是GAIA ID的地方。 此页面将公开显示其屏幕名称。 如果电子邮件地址未知,可以使用以下reply-#####################@profiles.google.com推断出同样的事情: reply-#####################@profiles.google.com这里也可以用来联系他们。 理想情况下,我希望能够查找用户的屏幕名称,而不必至少解析该公共Google+信息页,但真正的电子邮件也会很棒。 理想情况下,我想要API或其他资源来查找GAIA ID中的屏幕名称和/或电子邮件信息。

从移动设备到服务器的强大文件传输

我需要的是一个解决方案(库),用于从移动设备(iOS,Android)到服务器(PHP)的文件传输。 基本要求是文件应该拆分成块,这样如果数据连接在发送文件中间丢失,我就不需要重新发送整个文件了。 低内存使用也是必须的。 我想过像p2p这样的方法。 最佳做法? 谢谢。

如何使用PHP(JWT)validationfirebase ID令牌?

我有一个只有PHP的共享主机方案(没有Java,没有node.js)。 我需要从我的Android应用程序发送firebase ID令牌并通过PHP-JWTvalidation它。 我正在按照教程: validationFirebase ID令牌 它说: “如果您的后端使用的语言没有官方的Firebase Admin SDK,您仍然可以validationID令牌。首先,find适合您语言的第三方JWT库。然后,validation标头,有效负载和签名ID令牌。“ 我find了这个库: Firebase-PHP-JWT 。 在gitHub示例中; 我无法理解 $关键部分: `$key = “example_key”;` 和 $ token部分: `$token = array( “iss” => “http://example.org”, “aud” => “http://example.com”, “iat” => 1356999524, “nbf” => 1357000000 );` 我的问题: 什么应该是$ keyvariables? 为什么&tokenvariables是一个数组? 将从移动应用程序发送的令牌是一个字符串。 如果有人可以发布使用PHP-JWTvalidationfirebase ID的完整示例,我将不胜感激。 编辑: 哦,我明白了。 GitHub示例演示了如何生成JWT代码(编码)以及如何解码它。 在我的情况下,我只需要解码由firebase编码的jwt。 所以,我只需要使用这段代码: $decoded = JWT::decode($jwt, $key, array(‘HS256’)); […]