গুগল প্লে স্টোর এ নীচের মত সতর্কতা পেয়ে যাচ্ছে,
আপনার অ্যাপ্লিকেশনটিতে জ্ঞাত সুরক্ষা সমস্যাযুক্ত এক বা একাধিক গ্রন্থাগার রয়েছে। বিশদ জন্য দয়া করে এই গুগল সহায়তা কেন্দ্র নিবন্ধটি দেখুন।
ক্ষতিগ্রস্থ জাভাস্ক্রিপ্ট লাইব্রেরি:
- নাম -> jquery
- সংস্করণ -> 3.3.1
- জ্ঞাত সমস্যা -> এসএনওয়াইকে-জেএস-জ্যাকুয়েরি -174006
- চিহ্নিত ফাইল -> রেজোল / কাঁচা / jquery_min.js
দ্রষ্টব্য: আমার অ্যাপ্লিকেশনটিতে ওয়েবভিউ লোড করার সময় আমি ওয়েবভিউ ইউআরএল-এ ইন্টারসেপট রিকোয়েস্ট করব এবং কাঁচা ফোল্ডার রিসোর্স থেকে স্থানীয় jquery_min.js ফাইলটি লোড করব যা আমাদের এই ফাংশনের কারণে দ্রুত ওয়েবপৃষ্ঠা লোড করতে সহায়তা করে এবং আমি প্রতি মাসে সার্ভার থেকে 5 জিবি ডাউনলোড সংরক্ষণ করি save
নমুনা ওয়েবভিউ প্রোগ্রাম
LoadLocalScripts localScripts=new LoadLocalScripts(this);
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return true;
}
//Show loader on url load
public void onLoadResource(WebView view, String url) {
}
public void onPageFinished(WebView view, String url) {
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
}
@Override
public WebResourceResponse shouldInterceptRequest (final WebView view, String url) {
WebResourceResponse response= localScripts.getLocalSCripts(url);
if(response==null) {
return super.shouldInterceptRequest(view, url);
}else{
return response;
}
}
});
webView.loadUrl(url);
স্থানীয় স্ক্রিপ্টগুলি লোড করার জন্য ক্লাস
public class LoadLocalScripts {
private Context ctx;
public LoadLocalScripts(Context context) {
ctx=context;
}
public WebResourceResponse getLocalSCripts(String url)
{
//Log.e("url_raw",url);
if (url.contains(".css")) {
if(url.contains("bootstrap.min.css")) {
return getCssWebResourceResponseFromRawResource("bootstrap_min.css");
}else {
return null;
}
}else if (url.contains(".js")){
if(url.contains("bootstrap.min.js")) {
return getScriptWebResourceResponseFromRawResource("bootstrap_min.js");
} else if(url.contains("jquery.lazyload.min.js")) {
return getScriptWebResourceResponseFromRawResource("lazyload_min.js");
} else{
return null;
}
} else {
return null;
}
}
/**
* Return WebResourceResponse with CSS markup from a raw resource (e.g. "raw/style.css").
*/
private WebResourceResponse getCssWebResourceResponseFromRawResource(String url) {
//Log.e("url_raw",url);
if(url.equalsIgnoreCase("bootstrap_min.css")) {
return getUtf8EncodedCssWebResourceResponse(ctx.getResources().openRawResource(R.raw.bootstrap_min));
}else {
return null;
}
}
private WebResourceResponse getScriptWebResourceResponseFromRawResource(String url) {
//Log.e("url_raw",url);
if(url.equalsIgnoreCase("bootstrap_min.js")) {
return getUtf8EncodedScriptWebResourceResponse(ctx.getResources().openRawResource(R.raw.bootstrap_min_js));
}else if(url.equalsIgnoreCase("lazyload_min.js")) {
return getUtf8EncodedScriptWebResourceResponse(ctx.getResources().openRawResource(R.raw.lazyload_min));
}else {
return null;
}
}
private WebResourceResponse getUtf8EncodedCssWebResourceResponse(InputStream data) {
return new WebResourceResponse("text/css", "UTF-8", data);
}
private WebResourceResponse getUtf8EncodedScriptWebResourceResponse(InputStream data) {
return new WebResourceResponse("text/javascript", "UTF-8", data);
}
}
- আমি যদি জিকিউরি স্ক্রিপ্টে নতুন আপডেট করি তবে গুগল প্লে করবে সুরক্ষা সতর্কতা (দূষিত জাভাস্ক্রিপ্ট লাইব্রেরি)?
- আমি যদি আমার অ্যাপ্লিকেশনে কোথাও জ্যাকুই স্ক্রিপ্ট রাখি তবে গুগল প্লে করবে সুরক্ষা সতর্কতা?
- সার্ভার থেকে প্রতিবার লোড না করে ওয়েবভিউতে স্ক্রিপ্টটি লোড করার দক্ষ উপায় কী তা আমাকে জানতে দিন।